Wdrożenie toczące się w Kubernetes

Wdrożenie toczące się w Kubernetes

W tym poście przyjrzymy się opcjom wdrażania korzystania z systemu orchestracji kontenerów Kubernetes do wdrażania kontenerów. Na koniec tego artykułu nauczyliśmy się, jak wdrażać w klastrze Kubernetes. Jeśli naprawdę chcesz dowiedzieć się więcej na ten temat, czytaj dalej artykuł. Kod można znaleźć w poniższych sekcjach.

Jakie są wdrożenia w Kubernetes?

Wdrożenia Kubernetes to tylko repliki zapakowane w opakowanie Kubernetes. Wdrożenie monitoruje liczbę operacyjnych kapsuł, podczas gdy repliki zarządza liczbą działających kapsułek. Pozwala to na aktualizacje toczenia, kontrole zdrowia pod adresem i łatwym cofaniu aktualizacji.

Wdrożenie będzie utrzymywało tylko pojedynczy replikaza podczas normalnych operacji, zapewniając, że liczba wymaganych kapsułek.

Nie powinieneś zarządzać replicazetem, który wdrożenie tworzy bezpośrednio podczas wykorzystania wdrożeń. Wszystkie operacje przeprowadzone na repliceSet powinny być wykonywane na wdrożeniu, zarządzając procesem aktualizacji repliki.

Możliwość wykonywania aktualizacji toczącej się jest jedną z kluczowych zalet wdrażania. Wdrożenia zapewniają dużą elastyczność w stosunku do aktualizacji, umożliwiając stopniową aktualizację konfiguracji PODS.

Jakie są typowe przypadki użycia do wdrożenia?

Wdrożenia są powszechnie stosowane w następujących scenariuszach:

  • Aby wprowadzić repliki, utwórz wdrożenie. W tle replicaset buduje kapsuły. Sprawdź postęp wdrożenia, aby sprawdzić, czy się powiodło.
  • Zaktualizuj podtemplatesSpec, aby odzwierciedlić zmieniony stan kapsułek. Wdrożenie jest odpowiedzialne za zarządzanie kontrolowanym przeniesieniem kapsuł ze starego na nowy replikaza i utworzenie nowego. Z każdym nowym replikazą wersja wdrażania jest aktualizowana.
  • Zwiększyć pojemność wdrażania do obsługi większego ruchu.
  • Zatrzymaj wdrożenie wdrożenia, aby wprowadzić różne zmiany w jego podtemplatsspec, a następnie wznowić, aby rozpocząć nowe wdrożenie.
  • Status wdrażania można wykorzystać do ustalenia, czy wdrożenie zakończyło się powodzeniem.
  • Usuń wszelkie poprzednie repliki, których już nie wymagasz.

Wymagania wstępne:

Najpierw musisz zainstalować klaster minikube i rozpocząć Ubuntu 20.04. Teraz otwórz terminal, aby uruchomić polecenia. W tym celu naciśnij skrót „Ctrl+alt+t” na klawiaturze.

Możesz także napisać polecenie „Rozpocznij minikube” w terminalu. Po tym poczekaj chwilę, aż się zacznie. Poniżej znajduje się wynik tej instrukcji:

$ minikube start

Jak utworzyć wdrożenie?

W Kubernetes wdrożenia są tworzone poprzez określenie ich wymagań w pliku definicji YAML. Użyjmy przykładu wdrożenia o nazwie wdrożenia.YAML z następującymi parametrami, aby zobaczyć, jak skonfigurowane jest wdrożenie aktualizacji toczącej się:

$ nano wdrożenie.Yaml


Cały plik konfiguracyjny można znaleźć tutaj. Aby przywołać trzy kapsuły, poniższy kod tworzy replikizet. W przykładzie.metadane.Kolumna nazwy wskazuje, że utworzono wdrożenie o nazwie nginx-wdrażanie. Wdrożenie wytwarza trzy powtórzone kapsuły, zgodnie z.Spec.Atrybut Replicas.

Wdrożenie.Spec.Pole selektora określa, w jaki sposób określa, które podski do zarządzania. W takim przypadku użyjesz szablonu POD, aby wybrać etykietę (App: nginx). Możliwe są bardziej skomplikowane zasady wyboru, jeśli szablon POD spełnia kryteria.


Aby utworzyć wdrożenie, wykonaj podane polecenie po skonfigurowaniu wdrażania YAML:

$ kubectl Utwórz -f wdrażanie.Yaml

Użyj polecenia Kubectl Get wdrożenie, aby sprawdzić, czy wdrożenie zostało utworzone, jak pokazano poniżej.

$ kubectl otrzymuj wdrożenia


Jeśli istnieją jakieś bieżące wdrożenia, możesz monitorować status wdrażania, pisząc to polecenie.


Po kilku sekundach uruchom Kubectl, aby ponownie uzyskać wdrożenia, aby zobaczyć szczegóły.

$ kubectl otrzymuj wdrożenia


Aby sprawdzić repliki (RS) utworzone przez wdrożenie, użyj polecenia Kubectl Get RS RS. Oto wynik.

$ kubectl otrzyma RS

Uruchom kubectl, zdobądź kapsule -kow. Wyjście może wyglądać tak:

$ kubectl get Pods-Show-Labels

Jak zaktualizować wdrożenie?

Aby zaktualizować swoje wdrożenie, wykonaj poniższe kroki:

Zmieńmy kapsuły Nginx, aby zastosować następującą wersję Nginx: zamiast używać nginx: 1.14.2 Obraz, użyj 1.16.1 obraz.


Uruchom podane polecenie i wyświetl status wdrażania.


Po zakończeniu wdrożenia użyj Kubectl, aby uzyskać wdrożenia, aby zobaczyć wdrożenie. Poniżej znajduje się wyjście:

$ kubectl otrzymuj wdrożenia


Aby pobrać szczegóły dotyczące wdrożenia, uruchom następujące polecenie:

$ kubectl Opisz wdrożenia


Załóżmy, że popełniłeś błąd podczas zmiany wdrażania i wpisałeś Nginx: 1.161 zamiast nginx: 1.16.1 W nazwie obrazu:

Wprowadzanie utknie w martwym punkcie. Możesz sprawdzić wydajność wdrożenia tutaj:


Aby zatrzymać powyższy zegarek statusu wdrażania, użyj Ctrl-C.

Jakie są korzyści płynące z aktualizacji?

Rolling Aktualizacje umożliwiają progresywną integrację zmian, zapewniając większą elastyczność i kontrolę nad żywotnością aplikacji. Poniżej przedstawiono niektóre zalety korzystania z aktualizacji toczenia dla klastrów Kubernetes:

  • Nie ma przestojów, ponieważ instancje podkładu aplikacji zawsze działają, nawet podczas aktualizacji.
  • Pozwala programistom przetestować wpływ zmian w środowisku produkcyjnym bez zakłócania doświadczenia użytkownika.
  • Jest to opłacalna technika wdrażania, ponieważ nie wymaga dodatkowych zasobów przypisanych do klastra.
  • Złożone ulepszenia można skutecznie osiągnąć, dokonując prostych modyfikacji pliku wdrażania, eliminując potrzebę czasochłonnej ręcznej migracji plików konfiguracyjnych.

Wniosek:

Ten post obejmował podstawy wdrożeń, sposób działania aktualizacji toczącego się oraz różnorodne opcje konfiguracyjne w celu dostrajania aktualizacji i planowania POD. Powinieneś teraz być w stanie ustanowić i zmieniać wdrożenia z pewnością, aby osiągnąć prawidłowy stan dla swojej aplikacji.