Vytvoření nasazení

Nasazení odkazuje na objekt Kubernetes, který spravuje výkon a určuje požadované chování pod. Určuje životní cyklus aplikace, včetně lusků přiřazených k aplikaci. Poskytuje způsob, jak sdělit požadovaný stav vaší aplikace a kontroler pracuje na změně současného stavu do požadovaného stavu.

Nasazení automatizují proces spuštění pod instancemi a zajišťují, aby byly spuštěny tak, jak jsou definovány ve všech uzlech v clusteru. Správci a odborníci v oblasti IT používají nasazení, aby komunikovali s tím, co chtějí z aplikace, a pak Kubernetes provede všechny nezbytné kroky k vytvoření požadovaného stavu aplikace.

I když nasazení definují, jak vaše aplikace běží, nezaručuje, kde se ve vašem clusteru nacházejí vaše aplikace. Například pokud vaše aplikace vyžaduje instanci objektu pod v každém uzlu, budete chtít použít DaemonSet. Pro stavové aplikace StatefulSet poskytuje jedinečné identifikátory sítě, trvalé úložiště a seřazené nasazení a škálování.

Objekt nasazení Kubernetes vám umožňuje:

  • Nasazení sady replik nebo pod ní
  • Škálování počtu instancí aplikace nahoru nebo dolů
  • Aktualizace každé spuštěné instance aplikace
  • Vrátit zpátky všechny spuštěné instance aplikace na jinou verzi
  • Pozastavení nebo pokračování nasazení

Další informace najdete v tématu nasazení Kubernetes.

Vytvoření nasazení

Nasazení vytvoříte pomocí kubectl applykubectl create příkazů nebo. Vzhledem k tomu, že se požadovaný počet lusků udržuje a monitoruje, jsou spuštěné a dostupné po vytvoření nasazení. Pokud dojde k chybě pod, Kubernetes okamžitě zavede repliku pod ní, aby provedla místo v clusteru.

Následující příklad popisuje funkce souboru manifestu nasazení ve formátu YAML.

apiVersion: apps/v1  
kind: Deployment  
metadata: 
      name: nginx
spec:  
      replicas: 3
      selector:
           matchlabels:
containers:
      template:
           metadata:
      labels:
        app: nginx
            spec:  
      	    containers:  
       	    -name: nginx  
       	    image: nginx: 1.7.9
       	    ports:  
        	  -containerPort: 80  

Chcete-li zobrazit nasazení, sadu replik a lusky, spusťte následující příkaz:

kubectl get deployment, replicaset, pod

Aktualizace nasazení

Hlavní výhodou nasazení je automatické aktualizace Kubernetes programu. Bez nasazení byste museli ručně ukončit všechny staré lusky, začít novou verzi pod a spustit kontrolu a zjistit, zda při vytváření lusků nedochází k nějakým problémům. Můžete spustit kubectl describe deployment pro zobrazení pořadí, ve kterém byly lusky převedeny a odebrány.

Nasazení automatizují proces aktualizace, protože jednoduše aktualizujete šablonu pod nebo požadovaný stav. Nasazení mění stav programu na pozadí s akcemi, jako je například vytváření nových lusků nebo přidělování dalších prostředků, dokud není zvolena vybraná aktualizace.

Pokud v nasazení dojde k problémům, Kubernetes se automaticky vrátí k předchozí verzi. Můžete také explicitně vrátit zpět na konkrétní verzi pomocí kubectl rollout undo příkazu nebo můžete použít kubectl rollout pause k dočasnému zastavení nasazení.

Strategie pro aktualizaci nasazení

Kubernetes nabízí několik strategií nasazení, abyste se mohli různými způsoby aktualizovat tak, aby vyhovovaly potřebám vašeho prostředí. Tyto tři nejběžnější strategie aktualizace:

  • Postupná aktualizace: Tato aktualizace je postupný proces, který umožňuje aktualizovat systém Kubernetes s malým dopadem na výkon a bez výpadků. Minimalizuje prostoje s náklady na rychlost aktualizace.
  • Rekreace: Tato strategie je nedokončený proces, který umožňuje aktualizovat všechny aspekty systému současně na krátkou dobu výpadku. Aktualizuje se rychle, ale způsobí výpadek.
  • Kanárské: Tato strategie je částečná aktualizace, která umožňuje testovat novou verzi programu na reálných uživatelích bez závazku k plnému zavedení. Rychle se aktualizuje a vybere několik uživatelů s plnou kumulativní registrací.

Další kroky