Nezuro, Zvita 9,
Ruzivo rwakashandiswa kugadzirira chinyorwa ichi rwunotorwa kubva pachiziviso chepamutemo,
Topology-inoziva nzira
Nharaunda yeKubernetes yanga yakamirira ichi chimiro kwenguva yakareba - Topology-inoziva sevhisi nzira. kana
Pfungwa yakajairika ndeyekupa kugona kuita "yenzvimbo" nzira yemasevhisi anogara muKubernetes. "Nzvimbo" munyaya iyi zvinoreva "mwero wepamusoro wepamusoro" (topology level), izvo zvinogona kuva:
- node yakafanana nemasevhisi,
- iyo yakafanana server rack,
- nzvimbo imwe chete
- mupi mumwe chete wegore,
- ...
Mienzaniso yekushandisa chimiro ichi:
- kuchengetedza patraffic mukumisikidzwa kwegore neakawanda anowanikwa nzvimbo (yakawanda-AZ) - ona.
mufananidzo mutsva kushandisa muenzaniso wemotokari kubva kunharaunda imwe chete, asi yakasiyana AZs muAWS; - kuderera kwekuita latency / zvirinani throughput;
- sevhisi yakaomeswa ine ruzivo rwemunharaunda nezve node mune imwe neimwe shard;
- kuiswa kwechitsetse (kana analogues) pane imwechete node nemashandisirwo ane matanda anounganidzwa;
- ...
Nzira yakadaro, iyo "inoziva" nezve topology, inonziwo network affinity - nekuenzanisa ServiceTopology
muKubernetes - alpha vhezheni.
Kuti uwane ruzivo rwekuti iyo ficha inoshanda sei uye kuti iwe unogona kutoishandisa sei, verenga
IPv4/IPv6 dual stack rutsigiro
Kufambira mberi kwakakosha
- mu kube-proxy
itwa mukana wekushanda panguva imwe chete mune ese maviri modes (IPv4 uye IPv6); - Π²
Pod.Status.PodIPs
akaonekwa rutsigiro rwekudzika API (panguva imwe chete semu/etc/hosts
ikozvino vanoda kuti mugadziri awedzere IPv6 kero); - dual stack rutsigiro
RUDO (Kubernetes IN Docker) uyekubeadm ; - yakagadziridzwa e2e bvunzo.
Kufambira mberi paCSI
Yakanzi yakagadzikana
Initiative ye kutama kwevhoriyamu plugins kuenda kuCSI -
Parizvino, kutama kwevatyairi veAWS EBS kwakagadzirira mubeta vhezheni (kubernetes.io/aws-ebs
) uye GCE PD (kubernetes.io/gce-pd
) Forecast kune dzimwe nzvimbo dzekuchengetera ndeidzi:
Takataura nezve "tsika" yekuchengetedza rutsigiro muK8s yakauya kuCSI mukati
Pamusoro pezvo, kumwe kushanda kwakakosha muchimiro cheCSI, chinotanga (alpha kuita) muK1.17s 8, chakasvika pabeta (kureva kuti inogoneswa nekusarudzika) muKubernetes 1.12 kuburitswa -
- kupatsanura iyo CSI yekunze-snapshotter sidecar kuita maviri controller,
- akawedzera chakavanzika chekudzimwa (chakavanzika chekudzima) sechirevo kune zviri mukati mevhoriyamu snapshot,
- new finalizer (mupedzisi) kudzivirira iyo snapshot API chinhu kubva pakudzimwa kana paine chasara chinongedzo.
Panguva yekuburitswa 1.17, chimiro chinotsigirwa nevatyairi vatatu veCSI: GCE Persistent Disk CSI Driver, Portworx CSI Driver uye NetApp Trident CSI Driver. Mamwe mashoko pamusoro pekushandiswa kwayo uye kushandiswa anogona kuwanikwa mukati
Cloud Provider Labels
Mazita izvo zvoga yakagoverwa kune akagadzirwa node uye mavhoriyamu zvichienderana neyakashandiswa gore rinopa, yave iripo muKubernetes seye beta vhezheni kwenguva yakareba - kubva pakaburitswa K8s 1.2 (Kubvumbi 2016!). Tichifunga kushandiswa kwavo kwakapararira kwenguva yakareba, vagadziri
Naizvozvo, ese akatumidzwa zita zvinoenderana (netopology):
-
beta.kubernetes.io/instance-type
βnode.kubernetes.io/instance-type
-
failure-domain.beta.kubernetes.io/zone
βtopology.kubernetes.io/zone
-
failure-domain.beta.kubernetes.io/region
βtopology.kubernetes.io/region
... asi vachiri kuwanikwa pasi pemazita avo ekare (kumashure kunoenderana). Nekudaro, vese maneja vanokurudzirwa kuti vachinjire kune azvino mavara.
Yakagadzirwa kubuda kwe kubeadm
Yakapihwa mushanduro yealpha kekutanga
Kukurudzira kuita ichi chimiro (maererano ne
Nepo Kubernetes inogona kuisirwa nemaoko, iyo de facto (kana isiri de jure) yakajairwa yekuvhiya uku ndeye kushandisa kubeadm. Yakakurumbira masisitimu manejimendi maturusi seTerraform anovimba nekubeadm yeKubernetes kutumirwa. Kuvandudzwa kwakarongwa kuCluster API kunosanganisira compostable package yeKubernetes bootstrapping ine kubeadm uye cloud-init.
Pasina yakarongeka yakabuda, kunyangwe iyo isingakuvadzi shanduko pakutanga kutarisa inogona kutyora Terraform, Cluster API uye imwe software inoshandisa mhedzisiro yekubeadm.
Zvirongwa zvedu zvekukurumidza zvinosanganisira tsigiro (muchimiro cheyakagadzirwa kubuda) kune inotevera kubeadm mirairo:
-
alpha certs
-
config images list
-
init
-
token create
-
token list
-
upgrade plan
-
version
Mufananidzo wemhinduro yeJSON kune murairo kubeadm init -o json
:
{
"node0": "192.168.20.51:443",
"caCrt": "sha256:1f40ff4bd1b854fb4a5cf5d2f38267a5ce5f89e34d34b0f62bf335d74eef91a3",
"token": {
"id": "5ndzuu.ngie1sxkgielfpb1",
"ttl": "23h",
"expires": "2019-05-08T18:58:07Z",
"usages": [
"authentication",
"signing"
],
"description": "The default bootstrap token generated by 'kubeadm init'.",
"extraGroups": [
"system:bootstrappers:kubeadm:default-node-token"
]
},
"raw": "Rm9yIHRoZSBhY3R1YWwgb3V0cHV0IG9mIHRoZSAia3ViZWFkbSBpbml0IiBjb21tYW5kLCBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FrdXR6LzdhNjg2ZGU1N2JmNDMzZjkyZjcxYjZmYjc3ZDRkOWJhI2ZpbGUta3ViZWFkbS1pbml0LW91dHB1dC1sb2c="
}
Kudzikamiswa kwezvimwe zvitsva
Kazhinji, kuburitswa kweKubernetes 1.17 kwakaitika pasi pe motto "Kugadzikana" Izvi zvakafambiswa nenyaya yekuti akawanda maficha mairi (nhamba yavo yese ndeye 14) yakagamuchira GA chimiro. Pakati pavo:
- "kumaka" node zvinoenderana nemamwe mamiriro (
), akaonekwa mukatiTaintNodesByCondition
K8s 1.8 ; -
Watch Bookmarks - rudzi rutsva rwezviitiko zvine zita rekuti zvinhu zvese zviri kune imwe vhezheni (resourceVersion
) dzakatogadziriswa newachi; -
default values (defaulting) yeCustom Resources; -
zvakagovaniswa pakati pemidziyo mune iyo pod process nzvimbo dzemazita; -
ScheduleDaemonSetPods
-kuronga pods muDaemonSet kushandisa kube-scheduler (panzvimbo yeDaemonSet controller); -
dynamic limits pahuwandu hwemavhoriyamu zvichienderana nerudzi rwenode; -
nharaunda chinja tsigiro yemazita edhairekitori akaiswa sesubPath
; -
Kubelet heartbeats transfer kune yakasarudzika Lease API; - "Finalizer kudzivirira" (
Finalizer Dziviriro ) yezviyereso zvemutoro (kutarisa izvo zvinoenderana neSevhisi zviwanikwa usati wadzima LoadBalancer zviwanikwa); -
kube-apiserver optimization mukuita kana uchishanda newachi dzakawanda uchitarisisa seti dzakafanana dzezvinhu - zvinowanikwa nekunzvenga kudzokorora kutevedzana kwezvinhu zvakafanana kune mumwe nemumwe anotarisa.
Dzimwe shanduko
Rondedzero yakazara yezvinyowani muKubernetes 1.17, hongu, haina kuganhurirwa kune idzo dzakanyorwa pamusoro. Heano mamwe mamwe (uye kune rumwe runyorwa ruzere, ona
- Chimiro chakaratidzwa mukuburitswa kwekupedzisira chasvika pabeta vhezheni
;RunAsUserName
yemahwindo - shanduko yakafanana
zvakaitika EndpointSlice API (zvakare kubva kuK8s 1.16), zvisinei ikozvino mhinduro iyi yekuvandudza kushanda / scalability yeEndpoint API haibvumirwi nekusingaperi; - mapodhi ikozvino akakosha pakushanda kwechikwata
inogona kugadzirwa kwete mumazita chetekube-system
(kuti uwane ruzivo, ona zvinyorwa zveChengetedza mashandisirwo eKirasi Yekutanga ); - sarudzo itsva ye kubelet -
- inobvumidza iwe kutsanangura zvakajeka runyorwa rweCPUs dzakachengeterwa sisitimu;--reserved-cpus
- nokuti
kubectl logs
yakaunzwa mureza mutsva--prefix
, kuwedzera zita repodhi uye chitubu chemudziyo kumutsara wega wega wegiyo; - Π²
label.Selector
akawedzera RequiresExactMatch
; - midziyo yese mukube-dns
vava kumhanya neropafadzo shoma; -
hyperkube yakapatsanurwa mune yakaparadzana GitHub repository uye haichazoverengerwa muKubernetes kuburitswa; - zvikuru
kuvandudzwa kwekuita kube-proxy kune isiri-UDP ports.
Dependency shanduko:
- CoreDNS vhezheni inosanganisirwa mukubeadm ndeye 1.6.5;
- crictl shanduro yakagadziridzwa kuv1.16.1;
- CSI 1.2.0;
- etcd 3.4.3;
- Yazvino yakaedzwa Docker vhezheni yakakwidziridzwa kusvika 19.03;
- Iyo shoma Go vhezheni inodiwa kuvaka Kubernetes 1.17 ndeye 1.13.4.
PS
Verenga zvakare pablog yedu:
- Β«
Kubernetes 1.16: mhedziso yehukuru hutsva "; - Β«
Kubernetes 1.15: mhedziso yehukuru hutsva "; - Β«
Kubernetes 1.14: mhedziso yehukuru hutsva "; - Β«
Kubernetes 1.13: mhedziso yehukuru hutsva ".
Source: www.habr.com