Kubeadm
Kubeadm je nástroj poskytovaný Kubernetes, který zjednodušuje proces bootstrapování Kubernetes clusteru. Je navržen tak, aby zvládal složité úkoly potřebné k rozběhnutí clusteru, čímž zajišťuje hladký a opakovatelný instalační proces. Zde je přehled toho, co Kubeadm dělá a jak funguje:
Klíčové Funkce a Funkcionality Kubeadm
- Bootstrapování Clusteru:
- kubeadm init: Tento příkaz nastaví master node, inicializuje komponenty řídicí roviny jako API server, controller manager a scheduler.
- kubeadm join: Tento příkaz se používá k přidání dalších uzlů do clusteru, čímž se stanou pracovními uzly, které mohou spouštět pracovní zátěže.
- TLS Bootstrap: Kubeadm se stará o vytvoření a distribuci TLS certifikátů pro zabezpečení komunikace mezi různými částmi clusteru.
- Konfigurace Clusteru: Poskytuje formát konfiguračního souboru, který umožňuje specifikovat požadovaný stav clusteru, včetně nastavení sítě, nastavení řídicí roviny a další.
- Instalace Addonů: Ačkoli ve výchozím nastavení neinstaluje addony, Kubeadm usnadňuje instalaci základních addonů jako kube-proxy, CoreDNS a síťového řešení (např. Calico, Flannel).
- Aktualizace a Údržba: Kubeadm podporuje aktualizace Kubernetes clusterů a usnadňuje aplikaci aktualizací verzí pomocí příkazů jako kubeadm upgrade.
Základní Pracovní Postup pro Nastavení Kubernetes Clusteru pomocí Kubeadm
- Příprava Prostředí:
- Ujistěte se, že všechny uzly (master a pracovní) mají kompatibilní operační systém, správně nastavenou síť a potřebné závislosti jako Docker nebo containerd.
- Na všech uzlech zakažte swap, protože Kubernetes to vyžaduje.
- Instalace Kubeadm, Kubelet a Kubectl:
- Tyto nástroje je třeba nainstalovat na všechny uzly. Kubelet běží na každém uzlu a je zodpovědný za operace na úrovni uzlu. Kubectl je příkazový nástroj pro interakci s clusterem.
- Inicializace Master Node:
- Na master node spusťte
kubeadm init
. Tím se nastaví komponenty řídicí roviny a výstupem bude příkaz s tokenem, který lze použít k připojení pracovních uzlů do clusteru.
kubeadm init --pod-network-cidr=10.244.0.0/16
- Nastavení kubectl pro Správu Clusteru:
- Konfigurujte kubectl tak, aby používal přihlašovací údaje správce clusteru zkopírováním konfiguračního souboru.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- Instalace Pod Network Addonu:
- Vyberte a nasaďte síťový addon, aby byla umožněna komunikace mezi pody.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- Připojení Pracovních Uzlů do Clusteru:
- Na každém pracovním uzlu použijte příkaz
kubeadm join
z výstupu inicializace, abyste je přidali do clusteru.
kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Časté Příkazy
- kubeadm reset: Používá se k vrácení změn provedených
kubeadm init
nebo kubeadm join
.
- kubeadm upgrade: Používá se k aktualizaci verze Kubernetes clusteru.
- kubeadm config: Správa konfigurace clusteru, její zobrazení nebo úprava.
Příklad Nastavení Clusteru
Zde je jednoduchý průvodce nastavením jedno-masterového, multi-worker clusteru:
Na Master Node
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Na Každém Pracovním Uzel
sudo kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Kubeadm výrazně zjednodušuje instalační proces Kubernetes, poskytuje standardní způsob vytvoření a správy clusterů, které jsou připraveny pro produkční nasazení.