Wykonaj bash w kapsule z kubectl?

Wykonaj bash w kapsule z kubectl?
W tym artykule pokazano, jak wprowadzić powłokę do działającego pojemnika za pomocą Kubectl Exec. Ten artykuł powinien być wykonany na klastrze z minimum dwoma węzłami, które nie kontrolują hostów płaszczyzny. Możesz użyć miniKube do konstruowania klastra, jeśli obecnie go nie masz.

Aby uruchomić instrukcję w Kubernetes, będziesz potrzebować Ubuntu 20.04 wdrożone w systemie operacyjnym Linux. Aby uruchomić Kubernetes w systemie Linux, musisz również zainstalować klaster miniKube na komputerze. MiniKube ułatwia testowanie poleceń i programistów, umożliwiając systematyczne robienie tego. W rezultacie daje nowicjuszy najlepsze możliwe doświadczenie w nauce Kubernetes. Klaster minikube powinien zostać uruchomiony najpierw. Przejdź do nowo zainstalowanego terminala wiersza poleceń w Ubuntu 20.04. Za pomocą klawisza skrótu Ctrl+alt+T lub umieszczanie „Terminal” w Ubuntu 20.04 SYSTEM SYSTEM, możesz to zrobić. Każdy z poprzednich sposobów w pełni zainicjuje minikube na terminalu. Minikube zostanie rozpoczęte.

$ minikube start

Wpisz „Minikube Start” w terminalu, aby uruchomić minikube. Klaster Kubernetes zostanie uruchomiony po zbudowaniu maszyny wirtualnej zdolnej do obsługi klastra pojedynczego węzła. Będzie również działać w środowisku Kubectl. W ten sposób klaster będzie z tobą oddziaływać.

Zdobądź skorupę do działającego pojemnika

Najpierw utworzyliśmy plik za pomocą polecenia Touch. Służy do tworzenia pliku, który nie ma żadnej treści. Polecenie dotykowe wygenerowało pusty plik. To polecenie można również użyć, jeśli użytkownik nie ma żadnych danych do przechowywania po utworzeniu pliku.

$ Touch Shell.Yaml

Za pomocą polecenia dotykowego możesz jednocześnie stworzyć pojedynczy plik. Zobacz następujący zrzut ekranu, aby uzyskać lepszy pomysł. Dotyk, podobnie jak wszystkie inne polecenia, ma różne możliwości. Te opcje mogą być używane do różnych celów. Aby utworzyć ogromną liczbę plików jednocześnie, użyj polecenia dotykowego. Te pliki nie zawierałyby żadnych danych po ich utworzeniu.

Z powodzeniem stworzyliśmy kapsułkę z jednym pojemnikiem. Obraz Nginx jest uruchamiany przez pojemnik. Plik konfiguracyjny POD jest następujący:

Oczywiście możesz swobodnie korzystać z innego obrazu lub powłoki. Kilka argumentów zostało wspomnianych poniżej:

My-Shell: Nazwa wdrożenia, które jest produkowane. To będzie tytuł Podpuszony z unikalnym identyfikatorem na końcu.

-RM: Kiedy odłączamy, usuwamy wszystkie zasoby, które wyprodukowaliśmy. To oczyszcza wdrożenie, a także kapsułkę po zamknięciu sesji.

-I/-tty: To połączenie tych dwóch, które pozwala nam dołączyć do sesji interaktywnej.

-: Oddziela pozycję Arg.

Grzmotnąć: Zastępuje CMD pojemnika. W tym scenariuszu chcemy używać Bash jako polecenia naszego kontenera.

Teraz kapsułka jest pomyślnie tworzona za pomocą tego polecenia.

$ kubectl Apply -f Shell.Yaml

Można użyć następującego polecenia (GET POD) do pomyślnego przetestowania, że ​​kontener działa.

$ kubectl get POD Shell-Demo

Polecenie Kubectl Exec służy do wykonywania poleceń wewnątrz kapsuli Kubernetes za pomocą kontenerów Docker. Możliwe jest również uzyskanie interaktywnej powłoki do kontenera Docker działającego w podkładce za pomocą tego polecenia.

Polecenie Kubectl Exec umożliwia rozpoczęcie sesji powłoki wewnątrz kontenerów klastra Kubernetes. Gdy same dzienniki nie wystarczą, użyj tego polecenia, aby zbadać system plików kontenera, sprawdź stan środowiska i użyj dodatkowych narzędzi debugowania. Najlepszym sposobem na wprowadzenie powłoki do kontenera Kubernetes jest użycie Kubectl Exec. Został utworzony wyraźnie w tym celu i wyeliminował wszystkie komplikacje z ustaleniem, z którym węzłem fizycznym można się połączyć.

Nic nie powstrzymuje cię od zmiany kontenera z Kubectl Exec, ponieważ zapewnia on pełny dostęp do powłoki. Umożliwia to zainstalowanie dodatkowych pakietów oprogramowania, aby pomóc w rozwiązywaniu problemów.

Wymień katalog główny w swojej powładzie. Wewnątrz pojemnika wpisz „LS /”.

Otwarcie konsoli, ilekroć kapsuła ma dwa lub więcej pojemników

Rozważ następujący scenariusz: masz dwa pojemniki o nazwie Main-App i pomocnicze w swoim kapsule o nazwie My-POD. Następujące polecenie uruchamia powłokę w pojemniku na głównej aplikacji.

$ kubectl exec -i -t my -pod -container main -app - /bin /bash

Wniosek

W tym artykule nauczyliśmy się wykonywać polecenie bash z Kubectl i warunki wstępne uruchamiania instrukcji w Kubernetes. Ponadto przeszliśmy przez podstawy polecenia dotyku i exec i do tego celu są używane.