අද බදාදා,
මෙම ද්රව්යය සකස් කිරීම සඳහා භාවිතා කරන තොරතුරු ලබාගෙන ඇත
නෝඩ්
සැලකිය යුතු නවෝත්පාදන විශාල සංඛ්යාවක් (ඇල්ෆා අනුවාද තත්ත්වයෙන්) K8s පොකුරු නෝඩ් (කුබෙලෙට්) පැත්තේ ඉදිරිපත් කර ඇත.
පළමුව, ඊනියා «kubectl debug
, සාරයෙන් සමාන වේ kubectl exec
: කන්ටේනරයක ක්රියාවලියක් ක්රියාත්මක කරනවා වෙනුවට පමණි (ආකාරයෙන් exec
) එය පොඩ් එකක කන්ටේනරයක් දියත් කරයි. උදාහරණයක් ලෙස, මෙම විධානය නව බහාලුමක් පොඩ් එකකට සම්බන්ධ කරයි:
kubectl debug -c debug-shell --image=debian target-pod -- bash
තාවකාලික බහාලුම් පිළිබඳ විස්තර (සහ ඒවායේ භාවිතය පිළිබඳ උදාහරණ) සොයාගත හැකිය
NB: එහි සාරය සහ එහි නම පවා, විශේෂාංගය දැනටමත් පවතින ප්ලගිනයකට සමාන වේ
තවත් නවෝත්පාදනයක් - PodOverhead
PodSpec
ක්ෂේත්රය එකතු කරන ලදී Overhead *ResourceList
(දී දත්ත සමඟ සසඳයි RuntimeClass
, එකක් භාවිතා කරන්නේ නම්).
තවත් කැපී පෙනෙන නවෝත්පාදනයක් වේ node topology manager (Node Topology Manager), Kubernetes හි විවිධ සංරචක සඳහා දෘඪාංග සම්පත් වෙන් කිරීම සියුම් ලෙස සකස් කිරීමේ ප්රවේශය ඒකාබද්ධ කිරීමට සැලසුම් කර ඇත. මෙම මුලපිරීම ඉහළ කාර්යසාධනයක් සහිත සමාන්තර පරිගණනය සඳහා විවිධ නවීන පද්ධතිවල (විදුලි සංදේශ, යන්ත්ර ඉගෙනුම්, මූල්ය සේවා, යනාදී ක්ෂේත්රවල) වර්ධනය වන අවශ්යතාවය සහ ඔවුන් උසස් CPU භාවිතා කරන මෙහෙයුම් ක්රියාත්මක කිරීමේ ප්රමාදයන් අවම කිරීම මගින් මෙහෙයවනු ලැබේ. දෘඪාංග ත්වරණය කිරීමේ හැකියාව. Kubernetes හි එවැනි ප්රශස්තිකරණයන් මෙතෙක් සාක්ෂාත් කර ගෙන ඇත්තේ අසමාන සංරචක (CPU කළමනාකරු, උපාංග කළමනාකරු, CNI) වෙත ස්තූතිවන්ත වන අතර දැන් ඒවා ප්රවේශය ඒකාබද්ධ කරන සහ නව සමාන - ඊනියා ස්ථල විද්යාව සම්බන්ධ කිරීම සරල කරන තනි අභ්යන්තර අතුරු මුහුණතක් එක් කරනු ඇත. දැනුවත් - Kubelet පැත්තේ සංරචක. විස්තර - තුළ
Topology Manager සංරචක රූප සටහන
ඊළඟ විශේෂාංගය - කන්ටේනර් ධාවනය වන අතරතුර ඒවා පරීක්ෂා කිරීම (StartupProbeEnabled
) අවලංගු කරයි - හෝ ඒ වෙනුවට, කල් දමයි - පොඩ් එක ධාවනය අවසන් වන මොහොත දක්වා වෙනත් ඕනෑම චෙක්පතක බලපෑම. මෙම හේතුව නිසා, විශේෂාංගය මුලින් හැඳින්වූයේය
මීට අමතරව, RuntimeClass සඳහා වැඩිදියුණු කිරීමක් බීටා තත්ත්වයෙන් ක්ෂණිකව ලබා ගත හැකි අතර, "විෂමජාතීය පොකුරු" සඳහා සහය එක් කරයි. සී
ජාලය
Kubernetes 1.16 හි පළමු වරට (ඇල්ෆා අනුවාදයේ) දර්ශනය වූ සැලකිය යුතු ජාලකරණ විශේෂාංග දෙකක් වන්නේ:
-
සහාය ද්විත්ව ජාල තොගය - IPv4/IPv6 - සහ කරල්, නෝඩ්, සේවා මට්ටමින් එහි අනුරූප "අවබෝධය". එයට කරල් අතර IPv4-to-IPv4 සහ IPv6-to-IPv6 අන්තර් ක්රියාකාරීත්වය, කරල් සිට බාහිර සේවා දක්වා, යොමු ක්රියාත්මක කිරීම් (Bridge CNI, PTP CNI සහ Host-Local IPAM ප්ලගීන තුළ), මෙන්ම ක්රියාත්මක වන Kubernetes පොකුරු සමඟ ප්රතිලෝම අනුකූල වේ. IPv4 හෝ IPv6 පමණි. ක්රියාත්මක කිරීමේ විස්තර ඇතකේ.ඊ.පී .කරල් ලැයිස්තුවේ වර්ග දෙකක (IPv4 සහ IPv6) IP ලිපින පෙන්වීමේ උදාහරණයක්:
kube-master# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE nginx-controller 1/1 Running 0 20m fd00:db8:1::2,192.168.1.3 kube-minion-1 kube-master#
- Endpoint සඳහා නව API -
EndpointSlice API . එය පාලක-තලයේ විවිධ සංරචක වලට බලපාන (apiserver, etcd, endpoints-controller, kube-proxy) පවතින Endpoint API හි ක්රියාකාරීත්වය/පරිමාණතා ගැටළු විසඳයි. නව API ඩිස්කවරි ඒපීඅයි සමූහයට එක් කෙරෙන අතර නෝඩ් දහස් ගණනකින් සමන්විත පොකුරක් තුළ එක් එක් සේවාව සඳහා දස දහස් ගණනක පසුපෙළ අන්ත ලක්ෂ්ය සේවය කිරීමට හැකි වනු ඇත. මෙය සිදු කිරීම සඳහා, සෑම සේවාවක්ම N වස්තූන් වෙත සිතියම්ගත කර ඇතEndpointSlice
, ඒ සෑම එකක්ම පෙරනිමියෙන් අන්ත ලක්ෂ්ය 100කට වඩා නැත (අගය වින්යාසගත කළ හැක). EndpointSlice API එහි අනාගත සංවර්ධනය සඳහා ද අවස්ථා සපයනු ඇත: එක් එක් පොඩ් සඳහා බහු IP ලිපින සඳහා සහය, අන්ත ලක්ෂ්ය සඳහා නව තත්වයන් (පමණක් නොවේReady
иNotReady
), අවසාන ලක්ෂ්ය සඳහා ගතික උප සැකසුම.
අවසන් නිකුතුවේ ඉදිරිපත් කළ එක බීටා අනුවාදයට පැමිණ ඇත service.kubernetes.io/load-balancer-cleanup
සහ වර්ගය සමඟ එක් එක් සේවාවට අනුයුක්ත කර ඇත LoadBalancer
. එවැනි සේවාවක් මකා දැමීමේදී, අදාළ සියලු සමතුලිත සම්පත් "පිරිසිදු කිරීම" අවසන් වන තෙක් එය සම්පත සැබෑ මකාදැමීම වළක්වයි.
API යන්ත්රෝපකරණ
සැබෑ "ස්ථායීකරණ සන්ධිස්ථානය" Kubernetes API සේවාදායකයේ ප්රදේශයේ සහ එය සමඟ අන්තර් ක්රියා කරයි. මෙය බොහෝ දුරට සිදු වූයේ ස්තුතියෙනි විශේෂ හැඳින්වීමක් අවශ්ය නොවන අය ස්ථාවර තත්ත්වයකට මාරු කිරීම
-
"උප සම්පත්" සමඟ/status
и/scale
CustomResources සඳහා; -
පරිවර්තනය CRD සඳහා අනුවාද, බාහිර webhook මත පදනම්ව; -
මෑතකදී ඉදිරිපත් කරන ලදී (K8s 1.15 හි) පෙරනිමි අගයන් (පෙරනිමි) සහ ස්වයංක්රීය ක්ෂේත්ර ඉවත් කිරීම (කප්පාදුව) CustomResources සඳහා; -
අවස්ථාව OpenAPI v3 schema භාවිතා කරමින් OpenAPI ප්රලේඛනය නිර්මාණය කිරීම සහ ප්රකාශයට පත් කිරීම සේවාදායක පැත්තේ CRD සම්පත් වලංගු කිරීමට භාවිතා කරයි.
Kubernetes පරිපාලකයින්ට දිගු කලක් හුරුපුරුදු වූ තවත් යාන්ත්රණයක්:
තවත් විශේෂාංග දෙකක් බීටා වෙත ළඟා වී ඇත:
ඇල්ෆා අනුවාදයේ ඇති එකම වැදගත් නවෝත්පාදනය විය SelfLink
- නිශ්චිත වස්තුව නියෝජනය කරන විශේෂ URI සහ කොටසක් වීම ObjectMeta
и ListMeta
(එනම් Kubernetes හි ඕනෑම වස්තුවක කොටසක්). ඔවුන් එය අත්හරින්නේ ඇයි? සරල ආකාරයකින් පෙළඹවීම SelfLink
Kubernetes අනුවාදය 1.20 සහ අවසාන - 1.21 මගින් සිදුවනු ඇත.
දත්ත ගබඩාව
පෙර නිකුතු වලදී මෙන් ගබඩා කිරීමේ ප්රදේශයේ ප්රධාන කාර්යය ප්රදේශයේ නිරීක්ෂණය කෙරේ
- පළමු වරට (ඇල්ෆා අනුවාදයේ)
පෙනී සිටියේය වින්ඩෝස් සේවක නෝඩ් සඳහා CSI ප්ලගින සහාය: ගබඩාව සමඟ වැඩ කිරීමේ වත්මන් ක්රමය Kubernetes core හි ඇති ගස් ප්ලගීන සහ Powershell මත පදනම් වූ Microsoft වෙතින් FlexVolume ප්ලගීන ප්රතිස්ථාපනය කරනු ඇත;
Windows සඳහා Kubernetes හි CSI ප්ලගීන ක්රියාත්මක කිරීමේ යෝජනා ක්රමය - අවස්ථාව
CSI වෙළුම් ප්රමාණය වෙනස් කිරීම , K8s 1.12 හි නැවත හඳුන්වා දී ඇත, එය බීටා අනුවාදයක් දක්වා වර්ධනය වී ඇත; - සමාන "ප්රවර්ධනයක්" (ඇල්ෆා සිට බීටා දක්වා) දේශීය තාවකාලික වෙළුම් නිර්මාණය කිරීමට CSI භාවිතා කිරීමේ හැකියාව මගින් ලබා ගන්නා ලදී (
CSI Inline Volume Support ).
Kubernetes හි පෙර අනුවාදයේ හඳුන්වා දෙන ලදී DataSource
නව PVC නිර්මාණය කිරීමට) ද දැන් බීටා තත්ත්වය ලැබී ඇත.
උපලේඛනකරු
කාලසටහන්ගත කිරීමෙහි කැපී පෙනෙන වෙනස්කම් දෙකක් (ඇල්ෆා දෙකෙහිම):
-
- අවස්ථාවක් බර "සාධාරණ බෙදාහැරීම" සඳහා තාර්කික යෙදුම් ඒකක වෙනුවට කරල් භාවිතා කරන්න (Deployment සහ ReplicaSet වැනි) සහ මෙම බෙදාහැරීම සීරුමාරු කිරීම (දැඩි අවශ්යතාවයක් ලෙස හෝ මෘදු තත්වයක් ලෙස, එනම් ප්රමුඛතාවය ලෙස). විශේෂාංගය දැනට විකල්ප මගින් සීමා කර ඇති, සැලසුම් කර ඇති කරල්වල පවත්නා බෙදා හැරීමේ හැකියාවන් පුළුල් කරනු ඇතEvenPodsSpreading
PodAffinity
иPodAntiAffinity
, පරිපාලකයින්ට මෙම කාරණය සම්බන්ධයෙන් සියුම් පාලනයක් ලබා දීම, එයින් අදහස් වන්නේ වඩා හොඳ ඉහළ ලබා ගැනීමේ හැකියාව සහ ප්රශස්ත සම්පත් පරිභෝජනයයි. විස්තර - තුළකේ.ඊ.පී . - භාවිතා කරන්න BestFit ප්රතිපත්තිය в ධාරිතා අනුපාත ප්රමුඛ කාර්යය සඳහා ඉල්ලා ඇත කරල් සැලසුම් කිරීමේදී, ඉඩ ලබා දෙනු ඇත භාවිත
බඳුන් ඇසුරුම් මූලික සම්පත් (ප්රොසෙසරය, මතකය) සහ විස්තීර්ණ (GPU වැනි) යන දෙකම සඳහා ("බහාලුම්වල ඇසුරුම් කිරීම"). වැඩි විස්තර සඳහා, බලන්නකේ.ඊ.පී .
කරල් උපලේඛනගත කිරීම: හොඳම යෝග්යතා ප්රතිපත්තිය භාවිතා කිරීමට පෙර (සෘජුවම පෙරනිමි කාලසටහන හරහා) සහ එහි භාවිතය සමඟ (උපලේඛන විස්තාරකය හරහා)
ඊට අමතරව,
වෙනත් වෙනස්කම්
Kubernetes 1.16 නිකුතුවේ ද එය සටහන් කළ හැකිය සඳහා මුලපිරීම
ඊට අමතරව, පහත වෙනස්කම් සටහන් කළ හැකිය:
- වින්ඩෝස් සහාය සංවර්ධනය с
පෙනුම මෙම OS සඳහා Kubeadm උපයෝගිතා (ඇල්ෆා අනුවාදය),අවස්ථාවක් RunAsUserName
වින්ඩෝස් බහාලුම් සඳහා (ඇල්ෆා අනුවාදය),වැඩිදියුණු කිරීම කණ්ඩායම් කළමණාකරන සේවා ගිණුම (gMSA) බීටා අනුවාදය දක්වා සහාය,සහාය vSphere වෙළුම් සඳහා mount/ඇමිණීම. -
ප්රතිචක්රීකරණය API ප්රතිචාර වල දත්ත සම්පීඩන යාන්ත්රණය. මීට පෙර, මෙම අරමුණු සඳහා HTTP ෆිල්ටරයක් භාවිතා කරන ලද අතර, එය පෙරනිමියෙන් සක්රීය කිරීම වළක්වන සීමාවන් ගණනාවක් පැනවීය. "විනිවිද පෙනෙන ඉල්ලීම් සම්පීඩනය" දැන් ක්රියා කරයි: සේවාදායකයින් යැවීමAccept-Encoding: gzip
ශීර්ෂයේ, එහි විශාලත්වය 128 KB ඉක්මවන්නේ නම් GZIP-සම්පීඩිත ප්රතිචාරයක් ඔවුන්ට ලැබේ. Go සේවාලාභීන් ස්වයංක්රීයව සම්පීඩනයට සහය දක්වයි (අවශ්ය ශීර්ෂය යැවීම), එබැවින් ඔවුන් ගමනාගමනයේ අඩුවීමක් වහාම දකිනු ඇත. (වෙනත් භාෂා සඳහා සුළු වෙනස් කිරීම් අවශ්ය විය හැක.) -
හැකි බවට පත් විය බාහිර ප්රමිතික මත පදනම්ව HPA පරිමාන කිරීම. ඔබ වස්තු/බාහිර ප්රමිතික මත පදනම්ව පරිමාණය කරන්නේ නම්, වැඩ බර අක්රිය වූ විට ඔබට සම්පත් සුරැකීමට ස්වයංක්රීයව අනුරූ 0 දක්වා පරිමාණය කළ හැක. සේවකයින් GPU සම්පත් ඉල්ලා සිටින අවස්ථා සඳහා මෙම විශේෂාංගය විශේෂයෙන් ප්රයෝජනවත් විය යුතු අතර, විවිධ වර්ගයේ අක්රිය සේවකයින් සංඛ්යාව පවතින GPU ගණන ඉක්මවා යයි. - නව සේවාදායකයා -
- වස්තූන් සඳහා "සාමාන්ය" ප්රවේශය සඳහා. එය පහසුවෙන් පාර-දත්ත ලබා ගැනීමට සැලසුම් කර ඇත (එනම් උපවගන්තියk8s.io/client-go/metadata.Client
metadata
) පොකුරු සම්පත් වලින් සහ ඔවුන් සමඟ කසළ එකතු කිරීම සහ කෝටා මෙහෙයුම් සිදු කිරීම. - Kubernetes ගොඩනඟන්න
දැන් ඔබට පුළුවන් උරුමයක් නොමැතිව ("ගොඩනැගුණු" ගස තුළ) වලාකුළු සපයන්නන් (ඇල්ෆා අනුවාදය). - kubeadm උපයෝගිතා වෙත
එකතු කළා පර්යේෂණාත්මක (ඇල්ෆා අනුවාදය) මෙහෙයුම් වලදී අභිරුචිකරණය කරන ලද පැච් යෙදීමේ හැකියාවinit
,join
иupgrade
. කොඩිය භාවිතා කරන ආකාරය ගැන තව දැනගන්න--experimental-kustomize
, බලන්නකේ.ඊ.පී . - Apiserver සඳහා නව අන්ත ලක්ෂ්යය -
, - එහි සූදානම පිළිබඳ තොරතුරු අපනයනය කිරීමට ඔබට ඉඩ සලසයි. API සේවාදායකයටද දැන් ධජයක් ඇතreadyz
--maximum-startup-sequence-duration
, එහි නැවත ආරම්භ කිරීම් නියාමනය කිරීමට ඔබට ඉඩ සලසයි. - දෙකක් Azure සඳහා විශේෂාංග ප්රකාශිත ස්ථාවර: සහාය
ලබා ගත හැකි කලාප (ලබා ගත හැකි කලාප) සහහරස් සම්පත් සමූහය (RG). මීට අමතරව, Azure එකතු කර ඇත:-
සත්යාපන සහාය AAD සහ ADFS; -
ව්යාඛ්යාව service.beta.kubernetes.io/azure-pip-name
load balancer හි පොදු IP නියම කිරීමට; -
අවස්ථාව සැකසුම්LoadBalancerName
иLoadBalancerResourceGroup
.
-
- AWS දැන් තියෙනවා
සහාය වින්ඩෝස් මත EBS සඳහා සහප්රශස්ත කර ඇත EC2 API ඇමතුම්DescribeInstances
. - Kubeadm දැන් ස්වාධීනයි
සංක්රමණය වේ CoreDNS අනුවාදය උත්ශ්රේණි කිරීමේදී CoreDNS වින්යාසය. - ද්විමය ආදිය අනුරූප ඩොකර් රූපයේ
කර ඇත world-executable, එමඟින් ඔබට මූල අයිතිවාසිකම් අවශ්යතාවයකින් තොරව මෙම රූපය ධාවනය කිරීමට ඉඩ සලසයි. එසේම, etcd සංක්රමණ රූපයනැවැත්තුවා etcd2 අනුවාද සහාය. - В
Cluster Autoscaler 1.16.0 මූලික රූපය ලෙස distroless භාවිතා කිරීමට මාරු විය, වැඩිදියුණු කළ කාර්ය සාධනය, නව වලාකුළු සපයන්නන් එකතු කරන ලදී (DigitalOcean, Magnum, Packet). - භාවිත/යැපෙන මෘදුකාංගවල යාවත්කාලීන: Go 1.12.9, etcd 3.3.15, CoreDNS 1.6.2.
ප්රාදේශීය සභා
අපගේ බ්ලොග් අඩවියේ ද කියවන්න:
- «
කුබර්නෙටෙස් 1.15: අලුත් දේ පිළිබඳ විශේෂ අවස්ථා »; - «
කුබර්නෙටෙස් 1.14: අලුත් දේ පිළිබඳ විශේෂ අවස්ථා »; - «
කුබර්නෙටෙස් 1.13: අලුත් දේ පිළිබඳ විශේෂ අවස්ථා »; - «
කුබර්නෙටෙස් 1.12: අලුත් දේ පිළිබඳ විශේෂ අවස්ථා ".
මූලාශ්රය: www.habr.com