Kubernetes to bezpłatna dystrybucja typu open source, znana również jako k8s. Służy do automatyzacji wdrażania, zarządzania i skalowania kontenerowego oprogramowania i aplikacji. Zapewnia różne komponenty do zarządzania kontenerami, takie jak węzły, płaszczyzna kontroli, zasobniki i wdrożenie Kubernetes. Za pomocą Kubernetes programiści mogą łatwo zautomatyzować zadania operacyjne, cofnąć zmiany oraz monitorować i skalować skonteneryzowane aplikacje i oprogramowanie.
Na tym blogu wyjaśnimy:
-
- Co to jest wdrożenie Kubernetes?
- Dlaczego tworzenie wdrożenia jest lepsze niż tworzenie podów?
- Co to jest zestaw replik we wdrożeniu?
- Co to jest polecenie „kubectl create Deployment”?
- Warunek: zainstaluj kubectl i minikube
- Jak utworzyć wdrożenie Kubernetes za pomocą polecenia „kubectl create Deployment”?
- Jak uruchomić repliki we wdrożeniu Kubernetes za pomocą polecenia „kubectl create Deployment”?
- Jak działa ReplicaSet, aby kontrolować wdrażanie Kubernetes?
- Wniosek
Co to jest wdrożenie Kubernetes?
Wdrożenie Kubernetes jest określane jako obiekt zasobu, który zapewnia deklaratywne instrukcje i aktualizacje głównych elementów, takich jak Pody, ReplicaSet i aplikacje kontenerowe. Wdrożenie Kubernetes umożliwia programiście opisanie skonteneryzowanej aplikacji, takiej jak obraz, liczba podów, port, repliki i tak dalej. Jednym z głównych powodów, dla których Kubernetes jest lepszy od Dockera, jest to, że oferuje nam właściwości automatycznego naprawiania i automatycznego skalowania, a te stany są możliwe do osiągnięcia dzięki wdrożeniu Kubernetes.
W mechanizmie „automatycznego leczenia” jest to technika automatyzacji testów, która testuje działający obiekt i w przypadku wystąpienia jakiegokolwiek błędu, wdraża najlepsze dopasowanie do korekty i stosuje poprawkę, aby dopasować stan rzeczywisty do stanu pożądanego. W przypadku usługi „auto-scaling” obciążenie aplikacji skaluje się automatycznie.
Dlaczego tworzenie wdrożenia jest lepsze niż tworzenie podów?
Wdrożenie Kubernetes pozwala programiście łatwo utrzymać grupę tych samych podów działających ze wspólną konfiguracją. Natomiast podczas tworzenia poda użytkownicy muszą osobno utworzyć i uruchomić poda. Jeśli podczas wdrażania jeden pod zostanie usunięty lub zakończony, zostanie on automatycznie utworzony na nowo i uruchomiony dzięki mechanizmowi automatycznej naprawy. Jeśli jednak pody są uruchamiane bezpośrednio bez wdrażania, w przypadku błędu użytkownicy muszą odtworzyć i uruchomić zasobnik ręcznie.
Co to jest zestaw replik we wdrożeniu?
Kiedy programista utworzył wdrożenie, wygenerowano trzy główne komponenty, a ReplicaSet jest jednym z nich. ReplicaSet jest kontrolerem wdrożenia i jest odpowiedzialny za uruchamianie określonej liczby podów w ramach wdrożenia. W przypadku usunięcia jednego zasobnika ReplicaSet szybko instruuje, aby zregenerować nowy zasobnik w celu dopasowania rzeczywistego stanu zasobników do żądanego stanu. Jest głównie odpowiedzialny za dostarczanie deklaratywnych aktualizacji do podów.
Co to jest polecenie „kubectl create Deployment”?
„ kubectl utwórz wdrożenie ” to polecenie narzędzia Kubectl służące do tworzenia i uruchamiania wdrożenia Kubernetes. Następnie wdrożenie instruuje Kubernetes, jak tworzyć i aktualizować instancje aplikacji.
Składnia
kubectl utwórz wdrożenie < nazwa-wdrożenia > --obraz = < nazwa-obrazu > -- < opcja =wartość >
Opcja
Polecenie „kubectl create Deployment” obsługuje różne opcje zapewniające dodatkową warstwę funkcjonalności i dodatkowe instrukcje dotyczące wdrażania instancji aplikacji. Opcje obsługiwane przez „ kubectl utwórz wdrożenie ” polecenie podano poniżej w formie tabelarycznej:
Opcja | Opis |
„– –zezwól na brakujące klucze szablonu | Jeśli jego wartość jest ustawiona na true, zignoruje wszelkie błędy w szablonach, gdy w szablonie brakuje klucza mapy lub pola. |
'- -próba | Jego wartością może być „brak”, „serwer” lub „klient”. Jeśli wartością jest klient, wyświetli lub wydrukuje tylko obiekt, który zostałby wysłany bez jego wysyłania. Jeśli wartością jest serwer, będą przesyłane tylko żądania po stronie serwera. |
„– –kierownik terenowy | Pokazuje lub ustawia nazwisko menedżera używane do śledzenia własności pola. |
'- -obraz | Określ nazwę obrazu, aby określić szablon kontenera. |
-o, „– –wyjście | Określ format wyjściowy. |
'- -Port | Ustawia port, aby odsłonić kontener. |
-r, „– –repliki | Służy do definiowania liczby replik podów. |
„– – zapisz-konfigurację | Służy do zapisania konfiguracji obiektu w jego adnotacji. Jeśli jego wartość jest fałszywa, adnotacja pozostanie niezmieniona. |
„– –pokaż-zarządzane-pola | Domyślnie jego wartość to false. Jeśli jednak jest ustawiona jako true, zachowa lub zapisze zarządzane pola podczas drukowania obiektów w formacie JSON lub YAML. |
„– –validate=’ścisłe’ | Może mieć wartość „ścisły”, „ostrzegaj” lub „ignoruj”. Jeśli jest „ścisły”, zweryfikuje dane wejściowe i odrzuci żądanie, jeśli jest nieprawidłowe. Jeśli jego wartość to „warn”, ostrzeże o zduplikowanych i nieznanych polach. Jeśli jego wartość to „ignore”, nie będzie przeprowadzana żadna walidacja schematu. |
Warunek: zainstaluj kubectl i minikube
Aby rozpocząć wdrożenie Kubernetes w klastrze Kubernetes, najpierw zainstaluj w systemie poniższe narzędzia:
-
- Narzędzie Kubectl: Kubectl to narzędzie wiersza poleceń Kubernetes, które służy do kontrolowania, zarządzania i obsługi klastra Kubernetes i jego komponentów, takich jak wdrażanie Kubernetes.
- Narzędzie Minikube: Minikube to system implementacyjny dla Kubernetes, który udostępnia lub tworzy w systemie maszynę wirtualną w celu uruchomienia klastra Kubernetes. Może wykonywać klastry jednowęzłowe i jest najczęściej używany przez początkujących lub do celów testowych.
Aby rozpocząć korzystanie z Kubernetes i zainstalować niezbędne komponenty, takie jak „ kubectl ' I ' minikube ”, przejrzyj nasze połączone „ artykuł.
Jak utworzyć wdrożenie Kubernetes za pomocą polecenia „kubectl create”?
Wdrożenie Kubernetes można utworzyć, stosując manifest Yaml lub „ kubectl utwórz wdrożenie ' Komenda. Aby utworzyć wdrożenie Kubernetes za pomocą polecenia „kubectl create Deployment”, postępuj zgodnie z poniższą demonstracją.
Krok 1: Uruchom PowerShell
Najpierw uruchom Windows PowerShell z uprawnieniami administracyjnymi z menu Start. Wymagane są uprawnienia administracyjne, ponieważ minikube uruchamia klaster Kubernetes na maszynie wirtualnej przy użyciu funkcji HyperV:
Krok 2: Uruchom klaster Kubernetes
Aby uruchomić klaster Kubernetes, użyj opcji „ początek minikube'a ' Komenda:
początek minikube'a
Krok 3: Zdobądź węzły Kubernetes
Następnie uzyskaj dostęp do węzłów Kubernetes, aby sprawdzić, czy klaster jest uruchomiony, czy nie, korzystając z „ kubectl pobierz węzły ' Komenda:
kubectl pobierz węzły
Krok 4: Utwórz wdrożenie Kubernetes
Utwórz nowe wdrożenie Kubernetes w klastrze za pomocą pliku „k ubectl utwórz wdrożenie
Krok 5: Uzyskaj wdrożenie Kubernetes, ReplicaSet i Pod
Komenda „kubectl create Deployment” utworzy trzy komponenty: Deployment, ReplicaSet i Pod. Aby uzyskać dostęp do wdrożeń Kubernetes, uruchom „ kubectl pobierz wdrożenie ' Komenda:
kubectl pobierz wdrożenie
Tutaj możesz zobaczyć ' wdrożenie nginx ” jest dostępny w klastrze Kubernetes:
ReplicaSet to kontroler wdrożenia, który zapewnia, że aplikacja w zasobnikach działa bez błędów i naprawia punkty przerwania. Aby uzyskać dostęp do zestawu replik, użyj przycisku „ kubectl zdobądź rs ' Komenda:
Tutaj ReplicaSet pokazuje żądaną liczbę zasobników i aktualnie działających zasobników:
Pod to mniejsza jednostka klastra Kubernetes, w której uruchamiana jest aplikacja kontenerowa. Aby uzyskać dostęp do podów Kubernetes, użyj „ kubectl pobierz strąki ' Komenda. Tutaj ' -O Opcja ” służy do określenia formatu wyjściowego. Aby wyświetlić adres IP Poda, użyliśmy „ szeroki format:
Krok 6: Zaloguj się do klastra Kubernetes
Aby uzyskać dostęp do aplikacji działającej w kontenerze, najpierw uzyskaj dostęp do klastra Kubernetes za pomocą przycisku „ minikube ssh ' Komenda:
minikube ssh
Krok 7: Uzyskaj dostęp do aplikacji działającej we wdrożeniu Kubernetes
Następnie skorzystaj z opcji „ kędzior ” wraz z adresem IP Poda, aby uzyskać dostęp do aplikacji w kontenerze:
zwinąć 10.244.0.7
Jak uruchomić repliki we wdrożeniu Kubernetes za pomocą polecenia „kubectl create Deployment”?
Tworzenie wdrożenia Kubernetes jest lepsze niż uruchamianie Poda, ponieważ można w nim uruchomić grupę podów i zarządzać nimi jednocześnie, tworząc repliki Podów. Aby uruchomić repliki we wdrożeniu Kubernetes za pomocą polecenia „kubectl create Deployment”, postępuj zgodnie z poniższymi instrukcjami.
Krok 1: Utwórz wdrożenie Kubernetes
Najpierw utwórz wdrożenie za pomocą „ kubectl utwórz wdrożenie ” polecenie wraz z „ „– –repliki ' opcja. Wartość opcji „repliki” określi żądaną liczbę podów, które powinny być zarządzane i uruchamiane przez ReplicaSet:
kubectl utwórz wdrożenie nginx-deployment --obraz =nginx:stabilny-perl --repliki = 2
Krok 2: Uzyskaj wdrożenie Kubernetes, zestaw replik i pody
Teraz uzyskaj dostęp do wdrożenia Kubernetes za pomocą polecenia „kubectl get Deploy”:
kubectl pobierz wdrożenie
Tutaj możesz zobaczyć, jak wdrożenie pokazuje gotową, aktualną i dostępną liczbę podów:
Użyj poniższego polecenia, aby uzyskać dostęp do informacji ReplicaSet. Możesz zobaczyć, że ReplicaSet pokazuje status żądanej liczby podów i aktualnie wykonywanych podów:
Podobnie, aby uzyskać dostęp do działających kapsuł, użyj poniższego polecenia:
Dane wyjściowe wskazują, że wdrożenie Kubernetes pomyślnie wykonuje żądaną liczbę replik Podów w klastrze Kubernetes:
Jak ReplicaSet kontroluje wdrażanie Kubernetes?
ReplicaSet jest odpowiedzialny za uruchomienie żądanej liczby kapsuł w ramach wdrożenia. Jeśli jeden z podów zostanie uszkodzony lub usunięty, automatycznie utworzy go ponownie, aby dopasować bieżący stan podów do żądanego stanu. Mechanizm ten w rzeczywistości wykorzystuje technikę automatycznego leczenia. W celu demonstracji postępuj zgodnie z poniższymi instrukcjami.
Krok 1: Wyświetl pody Kubernetes na żywo
Najpierw sprawdź na żywo status Podów, korzystając z przycisku „ kubectl pobierz strąki -w ' Komenda. Zanotuj także nazwę kapsuły, która zostanie uszkodzona lub usunięta:
kubectl pobierz strąki -w
Krok 2: Usuń kapsułę
Następnie otwórz inny terminal PowerShell i spróbuj usunąć drugi zasobnik za pomocą „ kubectl usuń pody
Dane wyjściowe pokazują, że pomyślnie usunęliśmy zasobnik:
Teraz otwórz okno PowerShell, w którym status kapsuły jest aktywny. Tutaj możesz zobaczyć, kiedy usunęliśmy Poda, ReplicaSet automatycznie utworzył i uruchomił nowy Pod, aby dopasować bieżący status Poda do pożądanego statusu:
Omówiliśmy metodę tworzenia wdrożenia Kubernetes za pomocą polecenia „kubectl create Deployment”.
Wniosek
Aby utworzyć wdrożenie Kubernetes za pomocą „ kubectl utwórz wdrożenie ”, najpierw zainstaluj niezbędne narzędzia, takie jak minikube i kubectl. Następnie uruchom nowy klaster Kubernetes za pomocą minikube. Teraz utwórz nowe wdrożenie za pomocą „ kubectl utwórz wdrożenie