Obecný cluster Kubernetes (také psaný jako K8s) se skládá z řídící roviny uzly a alespoň jeden pracovní uzel .
Tento kurz vás provede architekturou Kubernetes a komponentami řídicí roviny a pracovního uzlu. Vysvětluje architekturu a funkce jako api-server , plánovač , etcd a správce ovládacích prvků . V rámci pracovních uzlů pokrýváme podrobnosti o kubectl , kubelet a kube-proxy .
Architektura Kubernetes
Obrázek z kubernetes.io
Z výše uvedeného diagramu můžeme vidět, že řídicí rovina dělá některá globální rozhodnutí, jako je plánování, a udržuje podrobnosti o clusteru v datovém úložišti (etcd). Reaguje také na události clusteru, včetně údržby replik, jak je uvedeno v nasazení.
Komponenty řídicí roviny
Co je tedy řídicí rovina Kubernetes?
Jednoduše řečeno, řídicí rovina je pro cluster globálním rozhodovacím orgánem, což znamená, že řídí plánování. Je také zodpovědný za udržování celkového chování clusteru. Kontejnerované aplikace jsou naplánovány na pracovních uzlech na základě paměti přidělené na nasazení. Reaguje také na události clusteru. Například řídicí rovina zahájí/ukončí nové moduly, když nejsou splněny hodnoty sady replik. Můžeme říci, že řídicí rovina Kubernetes je mozkem clusteru, který dělá logická rozhodnutí.
[ Čtenářům se také líbilo: Změňte nasazení Kubernetes na službu Knative ]
Řídicí rovina má následující součásti:
Server API (aka kube-apiserver)
Server API je rozhraní Kubernetes, které zpřístupňuje rozhraní Kubernetes API. Také ověřuje a konfiguruje data pro objekty API, včetně modulů, služeb, nasazení, řadičů replikace a dalších. API Server obsluhuje operace REST a poskytuje frontend sdílenému stavu clusteru, jehož prostřednictvím všechny ostatní komponenty interagují.
etcd (úložiště dat)
Úložiště dat etcd je backend Kubernetes, který obsahuje informace o clusteru v párech klíč–hodnota. V Kubernetes existuje koncept požadovaného stavu a skutečný stav . Kubernetes používá etcd ke sledování těchto dvou stavů. Pokud se rozcházejí, Kubernetes provede změny, aby sladil skutečný stav a požadovaný stav. To je sledováno pomocí distribuovaného úložiště dat etcd.
kube-plánovač
Plánovač kube je komponenta řídicí roviny, která hlavně přiřazuje neplánované pody k příslušnému uzlu na základě jeho využití paměti. Při nastavování uzlu pro určité aplikační faktory, jako jsou síťové zásady, se bere v úvahu využití paměti a omezení hardwaru/softwaru.
kube-control-manager
kube-control-manager je komponenta řídicí roviny, která spouští proces řízení. Obecně je řídicí proces smyčkou, která se zaměřuje na to, aby se požadovaný stav rovnal aktuálnímu stavu pro jakoukoli aplikaci v jakémkoli daném časovém případě.
Komponenty pracovního uzlu
Co je to pracovní uzel?
Pracovní uzel spouští kontejnerizované aplikace a nepřetržitě podává zprávy api-serveru řídicí roviny o jeho zdraví.
Má následující součásti:
kubelet
Kubelet je agent, který běží na každém uzlu v clusteru Kubernetes a zajišťuje, že kontejnery uvnitř podů běží a jsou zdravé. Neustále komunikuje s rozhraním Kubernetes API, aby předával informace o stavu modulů.
kube-proxy
Kube-proxy je síťový proxy server, který běží na každém uzlu v clusteru Kubernetes. Udržuje síťová pravidla na všech uzlech, což umožňuje hladkou komunikaci mezi prvky podu uvnitř i vně clusteru.
Běh kontejneru
Je to software, který je zodpovědný za spouštění kontejnerů uvnitř uzlů clusteru. Příklady zahrnují CRI-O, kontejnery, Docker atd.
[ Získejte tuto bezplatnou e-knihu:Správa clusterů Kubernetes pro figuríny. ]
Co bude dál?
V tomto příspěvku se dvěma blogy jsem pokryl architekturu Kubernetes a její součásti. Vynaložil jsem skromné a jednoduché úsilí, abych vysvětlil virtuální stroje, koncepty kontejnerů a základní clusterovou architekturu Kubernetes.
[ Rozdíly mezi Kubernetes a OpenShift najdete v tomto novém ebooku. ]
Reference:Kubernetes Components