Vytváření nasazení
Platí pro: AKS v Azure Stack HCI 22H2, AKS na Windows Serveru
Tento článek obsahuje přehled nasazení Kubernetes a popisuje, jak tato nasazení vytvářet a aktualizovat v AKS s podporou služby Azure Arc.
Přehled nasazení Kubernetes
Nasazení odkazuje na objekt Kubernetes, který spravuje výkon a určuje požadované chování podu. Určuje životní cyklus aplikace, včetně podů přiřazených k aplikaci. Nasazení poskytuje způsob, jak sdělit požadovaný stav vaší aplikace a kontroler funguje při změně aktuálního stavu na požadovaný stav.
Nasazení automatizují proces spouštění instancí podů a zajišťují, aby běžely podle definice ve všech uzlech v clusteru. Správci a it specialisté pomocí nasazení komunikují, co chtějí z aplikace, a pak Kubernetes provede všechny nezbytné kroky k vytvoření požadovaného stavu aplikace.
Zatímco nasazení definují, jak vaše aplikace běží, nezaručují, kde se vaše aplikace nacházejí v clusteru. Pokud například vaše aplikace vyžaduje instanci podu na každém uzlu, chcete použít daemonSet. Pro stavové aplikace poskytuje StatefulSet jedinečné identifikátory sítě, trvalé úložiště a seřazené nasazení a škálování.
Objekt nasazení Kubernetes umožňuje:
- Nasaďte sadu replik nebo pod.
- Škálujte počet instancí aplikace nahoru nebo dolů.
- Aktualizujte všechny spuštěné instance aplikace.
- Vrácení všech spuštěných instancí aplikace do jiné verze
- Pozastavte nebo pokračujte v nasazení.
Další informace najdete v tématu Nasazení Kubernetes.
Vytvoření nasazení
K vytvoření nasazení můžete použít kubectl apply
příkazy nebo kubectl create
příkazy. Vzhledem k tomu, že se udržuje a monitoruje požadovaný počet podů, jsou spuštěné a dostupné po vytvoření nasazení. Pokud se pod nezdaří, Kubernetes okamžitě zavede repliku podu, aby se v clusteru umístil.
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:
app: nginx
strategy:
type: Recreate
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
Pokud chcete zobrazit nasazení, sadu replik a pody, spusťte následující příkaz:
kubectl get deployment, replicaset, pod
Aktualizace nasazení
Hlavní výhodou nasazení je schopnost automaticky aktualizovat program Kubernetes. Bez nasazení byste museli ručně ukončit všechny staré pody, spustit nové verze podů a spustit kontrolu, abyste zjistili, jestli při vytváření podů nedochází k nějakým problémům. Můžete spustit kubectl describe deployment
, abyste viděli pořadí, ve kterém se pody zobrazily a odebraly.
Nasazení automatizují proces aktualizace, protože jednoduše aktualizujete šablonu podu nebo požadovaný stav. Nasazení změní stav programu na pozadí akcemi, jako je například vytváření nových podů nebo přidělování dalších prostředků, dokud nebude vybraná aktualizace zavedená.
Pokud v nasazení dojde k problémům, Kubernetes se automaticky vrátí k předchozí verzi. Pomocí příkazu se také můžete explicitně vrátit k určité verzi kubectl rollout undo
nebo můžete použít kubectl rollout pause
k dočasnému zastavení nasazení.
Strategie aktualizace nasazení
Kubernetes nabízí několik strategií nasazení, abyste je mohli aktualizovat různými způsoby tak, aby vyhovovaly potřebám vašeho prostředí. Mezi tři nejběžnější strategie aktualizace patří:
- Kumulativní aktualizace: Tato aktualizace je postupný proces, který umožňuje aktualizovat systém Kubernetes pouze s menším vlivem na výkon a bez výpadků. Minimalizuje výpadky za cenu rychlosti aktualizace.
- Rekreační: Tato strategie je proces typu all-or-nothing, který umožňuje aktualizovat všechny aspekty systému najednou s krátkou dobou výpadku. Aktualizuje se rychle, ale způsobuje výpadek.
- Canary: Tato strategie je částečný proces aktualizace, který umožňuje otestovat novou verzi programu na skutečných uživatelích bez závazku k úplnému zavedení. Rychle se aktualizuje pro několik vybraných uživatelů s úplným uvedením později.