Tworzenie wdrożeń
Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server
Ten artykuł zawiera omówienie wdrożeń platformy Kubernetes oraz opis sposobu tworzenia i aktualizowania tych wdrożeń w usłudze AKS włączonej przez usługę Azure Arc.
Omówienie wdrożeń platformy Kubernetes
Wdrożenie odwołuje się do obiektu Kubernetes, który zarządza wydajnością i określa żądane zachowanie zasobnika. Określa cykl życia aplikacji, w tym zasobniki przypisane do aplikacji. Wdrożenie umożliwia komunikowanie żądanego stanu aplikacji, a kontroler pracuje nad zmianą stanu obecnego na żądany stan.
Wdrożenia automatyzują proces uruchamiania wystąpień zasobników i zapewniają, że działają zgodnie z definicją we wszystkich węzłach w klastrze. Administratorzy i specjaliści IT używają wdrożeń do komunikowania się z żądanymi elementami z aplikacji, a następnie platforma Kubernetes wykonuje wszystkie niezbędne kroki w celu utworzenia żądanego stanu aplikacji.
Wdrożenia definiują sposób działania aplikacji, ale nie gwarantują miejsca, w którym znajdują się twoje aplikacje w klastrze. Jeśli na przykład aplikacja wymaga wystąpienia zasobnika w każdym węźle, chcesz użyć elementu DaemonSet. W przypadku aplikacji stanowych zestaw StatefulSet udostępnia unikatowe identyfikatory sieci, magazyn trwały i uporządkowane wdrażanie/skalowanie.
Obiekt wdrożenia platformy Kubernetes umożliwia:
- Wdróż zestaw replik lub zasobnik.
- Skaluj liczbę wystąpień aplikacji w górę lub w dół.
- Zaktualizuj każde uruchomione wystąpienie aplikacji.
- Wycofaj wszystkie uruchomione wystąpienia aplikacji do innej wersji.
- Wstrzymywanie lub kontynuowanie wdrożenia.
Aby uzyskać więcej informacji, zobacz Kubernetes Deployments (Wdrożenia platformy Kubernetes).
Tworzenie wdrożenia
Aby utworzyć wdrożenie, możesz użyć kubectl apply
poleceń lub kubectl create
. Ponieważ wymagana liczba zasobników jest utrzymywana i monitorowana, są uruchomione i dostępne po utworzeniu wdrożenia. Jeśli zasobnik ulegnie awarii, platforma Kubernetes natychmiast wdroży replikę zasobnika, która będzie działać w klastrze.
W poniższym przykładzie opisano funkcje pliku manifestu wdrożenia w formacie 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
Aby wyświetlić wdrożenie, zestaw replik i zasobniki, uruchom następujące polecenie:
kubectl get deployment, replicaset, pod
Aktualizowanie wdrożenia
Główną zaletą wdrożeń jest możliwość automatycznego aktualizowania programu Kubernetes. Bez wdrożeń należy ręcznie zakończyć wszystkie stare zasobniki, uruchomić nowe wersje zasobnika i uruchomić kontrolę, aby sprawdzić, czy podczas tworzenia zasobników występują jakieś problemy. Możesz uruchomić polecenie kubectl describe deployment
, aby zobaczyć kolejność, w jakiej zasobniki zostały wychowane i usunięte.
Wdrożenia automatyzują proces aktualizacji, po prostu aktualizując szablon zasobnika lub żądany stan. Wdrożenie zmienia stan programu w tle za pomocą akcji, takich jak tworzenie nowych zasobników lub przydzielanie większej liczby zasobów, dopóki nie zostanie wdrożona wybrana aktualizacja.
Jeśli podczas wdrażania występują problemy, platforma Kubernetes automatycznie wraca do poprzedniej wersji. Możesz również jawnie wycofać określoną wersję przy użyciu kubectl rollout undo
polecenia lub użyć polecenia kubectl rollout pause
, aby tymczasowo zatrzymać wdrożenie.
Strategie aktualizowania wdrożeń
Platforma Kubernetes udostępnia kilka strategii wdrażania, dzięki czemu można aktualizować je na różne sposoby, aby dopasować je do potrzeb środowiska. Trzy najbardziej typowe strategie aktualizacji to:
- Aktualizacja stopniowego: Ta aktualizacja jest procesem stopniowym, który umożliwia aktualizowanie systemu Kubernetes tylko z niewielkim wpływem na wydajność i bez przestojów. Minimalizuje przestoje kosztem szybkości aktualizacji.
- Rekreacja: Ta strategia jest procesem all-or-nothing, który pozwala aktualizować wszystkie aspekty systemu jednocześnie z krótkim okresem przestoju. Jest on aktualizowany szybko, ale powoduje przestój.
- Canary: Ta strategia jest częściowym procesem aktualizacji, który umożliwia przetestowanie nowej wersji programu na rzeczywistych użytkownikach bez zobowiązania do pełnego wdrożenia. Szybko aktualizuje wybranych użytkowników z pełnym wdrożeniem później.