V tomto článku uvidíme, jak vytvořit své první nasazení v clusteru Kubernetes. Jako příklad vytvoříme nasazení pro NginX.
Jakmile budeme mít spuštěný cluster Kubernetes, můžeme na něj nasadit naše kontejnerové aplikace. Abychom toho dosáhli, můžeme vytvořit konfiguraci nasazení Kubernetes.
Nasazení poskytuje deklarativní aktualizace pro Pody a ReplicaSets. Popisujeme požadovaný stav v rozmístění a řadič rozmístění mění skutečný stav na požadovaný stav řízenou rychlostí.
Nasazení můžeme vytvořit a spravovat pomocí rozhraní příkazového řádku „kubectl“ Kubernetes. Kubectl používá Kubernetes API k interakci s clusterem.
Životní cyklus nasazení má tři fáze:
- Probíhá : Kubernetes označí Nasazení jako postupující , když Nasazení vytvoří novou sadu ReplicaSet, Nasazení zvětšuje svou nejnovější sadu ReplicaSet nebo zmenšuje svou starší sadu ReplicaSet nebo jsou připraveny nebo dostupné nové Pody
- Dokončeno : Kubernetes označí Nasazení jako dokončené , když byly aktualizovány všechny repliky spojené s Nasazením, jsou k dispozici, nejsou spuštěny žádné staré repliky pro Nasazení.
- Nezdařilo se : Může k tomu dojít v důsledku nedostatečné kvóty, selhání sondy připravenosti, chyb při načítání obrázku nebo nedostatečných oprávnění.
Předpoklady
- Účet AWS (vytvořte si jej, pokud jej nemáte)
- Cluster Kubernetes
Poznámka:Pokud nechcete zkoušet instance AWS EC2, můžete k vytvoření clusteru použít také virtuální počítače.
Co uděláme
- Vytvořte nasazení Kubenetes pro NginX
Vytvoření nasazení Kubenetes pro NginX
Chcete-li vytvořit naše první nasazení, stačí vytvořit nový adresář pro vytvoření našeho objektu/souboru nasazení. Pomocí následujícího příkazu vytvořte nový adresář ve vašem systému
mkdir my-first-deployment
cd my-first-deployment/
Než budeme pokračovat, ověřte stav clusteru.
Kontrola uzlů dostupných v clusteru a kontrola verze kubectl " použijte následující příkazy.
verze sudo kubectl
sudo kubectl get nodes
Jakmile budete mít v clusteru k dispozici uzly, jste připraveni vytvořit nasazení.
Vytvořte soubor "my-first-deployment.yml" s následujícím blokem kódu
vim my-first-deployment.yml
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
Zde
- apiVersion : APIVersion definuje schéma verze této reprezentace objektu.
- druh :Druh objektu, který chcete vytvořit, jako je Deployment, Service, Configmap a další.
- jméno : Název musí být v rámci jmenného prostoru jedinečný.
- štítky : Mapa řetězcových klíčů a hodnot, které lze použít k uspořádání a kategorizaci objektů
- spec : Specifikace požadovaného chování implementace.
- repliky : Počet požadovaných podů.
- selektor : Výběr štítků pro pody. Stávající sady ReplicaSets, jejichž moduly jsou tímto vybrány, budou ovlivněny tímto nasazením. Musí odpovídat štítkům šablony podu.
Nyní jste připraveni vytvořit rozmístění pomocí následujících příkazů.
sudo kubectl apply -f my-first-deployment.yml
sudo kubectl získat nasazení
Na výše uvedeném snímku obrazovky můžete vidět, že nasazení bylo vytvořeno se dvěma moduly, které jsou k dispozici k použití.
Podrobnosti podů můžete získat pomocí následujícího příkazu.
sudo kubectl get pods
Pokud se chcete o nasazení dozvědět více, můžete pomocí tohoto příkazu „kubectl description“ získat úplné podrobnosti o nasazení.
sudo kubectl získat nasazení
sudo kubectl popisuje nasazení nginx-deployment
Pokud již nasazení nepotřebujete, můžete jej smazat pomocí příkazu kubectl delete.
sudo kubectl získat nasazení
sudo kubectl odstranit nasazení nginx-deployment
sudo kubectl získat nasazení
Na výše uvedeném snímku obrazovky můžete vidět, že po odstranění již nasazení není dostupné.
Jakmile smažete nasazení, budou smazány i pody.
Dostupnost modulů můžete zkontrolovat pomocí následujícího příkazu.
sudo kubectl získat pody
Na výše uvedeném snímku obrazovky můžete vidět, že moduly byly po smazání nasazení odstraněny a nejsou dostupné.
Závěr
V tomto článku jsme viděli kroky k vytvoření vašeho prvního nasazení NginX na Kubernetes. Také jsme viděli, jak lze získat podrobnosti týkající se nasazení. Spolu s tím jsme prozkoumali příkazy k odstranění nasazení.