Jaka jest różnica między Kubectl Create i Kubectl Zastosuj?

Jaka jest różnica między Kubectl Create i Kubectl Zastosuj?
„Kubectl Apply” modyfikuje tylko właściwości określone w pliku w istniejącym stabilnym źródle. Możliwe jest, że plik użyty w „Zastosuj” jest niekompletny plik specyfikacji. „Zastosuj” tylko kilka cech zasobów. Możesz „zastosować” plik, który jedynie modyfikuje adnotację bez określania dodatkowych cech zasobów. „Zastosuj” zapewnia większą zdolność adaptacyjną i jest preferowanym podejściem do aktualizacji obiektów produkcyjnych: generuje nowe obiekty z plików konfiguracyjnych, jeśli jeszcze nie istnieją, aktualizuje istniejące obiekty z plików lub folderów konfiguracyjnych lub pomaga utrzymać wiele zmian konfiguracyjnych po wprowadzeniu według różnych źródeł. Zestaw operacji „Zastosowanie Kubectl” służy do budowy lub zmiany usług Kubernetes określonych w pliku manifestu z wiersza polecenia terminali. Stan zasobu jest zdefiniowany w pliku manifestu, a następnie stosowanie Kubectl jest używane do wprowadzenia go. Jeśli wybierzemy opcję Zastosuj, Kubernetes obsługuje wszystko, czego potrzebujemy. Nie musimy uczyć ani radzić sobie z każdą fazą indywidualnie. Jest to technika deklaratywna, w której modyfikacje dokonane do żywego obiektu są „przechowywane”, nawet jeśli wprowadzane są inne zmiany w obiekcie.

Kubectl Utwórz

„Kubectl Create” usuwa zasoby przed utworzeniem ich z danego pliku. „Utwórz” używa całego pliku. „Utwórz” prace w oparciu o właściwość każdego zasobu. Z powodu brakujących metadanych, jeśli używasz pliku z instrukcją zastępowania, instrukcja zostanie przerwana. Podejście imperatywne obejmuje wybór stworzenia. Oznacza to, że będziemy musieli doradzić klientowi Kubernetes, aby przeprowadzić niezbędne zadania. W rezultacie jest podobny do podejścia prowadzonego przez użytkownika. Nazywamy Kubectl, tworząc niezbędne zarządzanie. Poinformujesz interfejs API Kubernetes o tym, co chcesz zbudować za pomocą tej metody. Kubectl Utwórz to instrukcja, której używasz do utworzenia zasobu Kubernetes z wiersza polecenia. To jest niezbędna aplikacja. Otrzymasz jednak wyjątek, jeśli uprzednio istnieje zasób. Spójrzmy na szczegóły obu poleceń Kubectl. Zacznijmy od Kubectl Zastosuj.

Zastosuj praktyczne wdrożenie kubectl

Użyjemy Ubuntu 20.04 System Linux do praktycznej implementacji polecenia Kubectl Zastosuj. Zainstalowaliśmy MiniKube, aby uzyskać usługi Kubernetes w Ubuntu 20.04 System Linux. Po pierwsze, musimy zacząć minikube w naszym Ubuntu 20.04 System Linux.

$ minikube start

Proces zajmie trochę czasu. Tak szybko, jak to się rozpocznie, możesz kontynuować. Aby zrozumieć pojęcie polecenia Kubectl, zamierzamy stworzyć wdrożenie. Wdrożenia są zbiorem wielu identycznych strąków bez cech wyróżniających. Wdrożenia pomagają w zapewnieniu, że jedna lub jeszcze więcej kopii aplikacji będzie dostępna, aby w ten sposób służyć żądaniom użytkownika. Aby utworzyć plik posiadający. rozszerzenie YAML, wykonaj polecenie przymocowane.

$ Touch wdrożenie.Yaml

Plik zostanie utworzony w katalogu domowym; Jego nazwa może się różnić w zależności od preferencji użytkownika. Pokazany jest manifest plik do wdrożenia Kubernetes z trzema kopiami obrazu kontenera Nginx. Nazwaliśmy to „myDePloyment”, ponieważ możesz sprawdzić w wierszu 4 załączonego obrazu.

Jeśli wykonasz polecenie poniżej, informacje z tego pliku manifestu zostaną użyte do ustalenia wdrożenia.

$ kubectl Zastosuj -f wdrożenie.Yaml

Wyjście przedstawia, że ​​wdrożenie zostało skutecznie utworzone. Otrzymasz następujące dane wyjściowe, jeśli wykonasz następującą wymienioną instrukcję:

$ kubectl otrzymuj wdrożenie

Możesz sprawdzić nowo utworzone wdrożenie na wyżej wymieniony obraz. Oznaczyliśmy to wdrożenie „myDePloyment”, a teraz obsługuje trzy strąki.

Praktyczne wdrożenie Kubectl Create

W celu praktycznego wdrożenia polecenia Kubectl Utwórz, zacznijmy tworzyć wdrożenie za pomocą Kubectl Create. Otrzymasz następujący wynik dołączony, jeśli uruchomisz polecenie pokazane na załączonym obrazie.

Z wyżej wymienionych danych wyjściowych zrozum, że otrzymasz wyjątek, jeśli spróbujesz użyć Kubectl Utwórz na zasobach, który już się pojawia. Spróbujmy użyć Kubectl Create, aby rozpocząć tworzenie zasobu, który nie występuje. W tym scenariuszu użyjemy nazwy „YourDeployment”, aby wymienić nasze wdrożenie Kubernetes. Użyjemy następującego polecenia, aby wdrożyć:

$ kubectl Utwórz wdrożenie, wdrażanie --Mage = nginx

Jeśli wszystko pójdzie dobrze, będziesz miał wyjście pokazane na załączonym obrazie.

Dokonajmy pewnych zmian w początkowym wdrożeniu, które dokonaliśmy: „MyDePloyment”. Obraz pokazuje, jak to zrobić, modyfikując plik manifestowy: „Wdrożenie.YAML ”. Jak widać na załączonym obrazie (wiersz#8), repliki zostały podniesione z 3 do 4.

Aby zmienić wdrożenie z 3 na 4 repliki, uruchom kubectl Zastosuj polecenie w następujący sposób:

$ kubectl Zastosuj -f wdrożenie.Yaml

Wdrożenie zostało zakończone, zgodnie z wyjściem. Wskazuje to, że dokonano modyfikacji istniejącego wdrożenia. Aby potwierdzić, że wdrożenie jest naprawdę obsługujące cztery strąki, użyj następującego zestawu Kubectl Get wdrożenie. W rezultacie dostaniesz coś takiego:

$ kubectl otrzymuj wdrożenie

Wniosek

W tym artykule obowiązują odmienność między kubectl, a Kubectl została szczegółowo wyjaśniona wraz z praktycznymi przykładami. Kubectl Create może zostać odrzucony tylko w celu deklaratywnego wydania nowego zasobu. Z drugiej strony możesz użyć Kubectl Zastosuj do podania nowego zasobu Kubernetes, aby użyć pliku manifestu za pomocą Kubectl Zastosowanie. Aktualizując konfigurację w dostarczonym pliku manifestu, możesz użyć Kubectl Zastosuj do modyfikacji istniejącego zasobu. Mam nadzieję, że nie będziesz miał żadnych obaw dotyczących tego przewodnika.