Co to jest proxy Kubectl?

Co to jest proxy Kubectl?
Użytkownik spoza klastra Kubernetes może wykorzystać serwer serwera Kubernetes API. To na przykład umożliwia dostęp do usługi, która jest dostępna tylko w sieci klastra. Pomiędzy użytkownikiem a punktem końcowym w klastrze APISERVER działa jako proxy i bastion.

Zainstalowaliśmy Ubuntu 20.04 w naszym systemie operacyjnym Linux, aby uruchomić instrukcje w Kubernetes. Możesz to śledzić. Musisz dodatkowo zainstalować klaster minikube na komputerze, aby uruchomić Kubernetes w Linux. Minikube ułatwia testowanie poleceń i programów, umożliwiając to w sposób metodyczny. W rezultacie zapewnia najlepsze doświadczenie edukacyjne Kubernetes dla początkujących. Początkowo należy uruchomić klaster minikube. Następnie w Ubuntu 20.04, przejdź do nowo zainstalowanego terminala wiersza poleceń. Możesz to zrobić, naciskając klawisz skrótu CTRL+Al lub wpisując „Terminal” w Ubuntu 20.04 System wyszukiwania. Każda z wyżej wymienionych technik uruchomi terminal. Minikube zostanie rozpoczęte. 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. Jest również kompatybilny ze środowiskiem Kubectl. Zostanie to użyte do komunikacji z klastrem.

$ minikube start

Aby uzyskać dostęp do klastra, musisz wiedzieć, gdzie się znajduje i jakich poświadczeń będziesz potrzebować. Zwykle odbywa się to automatycznie, gdy śledzisz przewodnik po uruchomieniu lub ktoś inny konfiguruje klaster i daje poświadczenia i lokalizację. Polecenie Config View pokazuje, gdzie Kubectl jest świadomy lokalizacji i poświadczeń.

$ kubectl Config View

Jak bezpośredni dostęp do interfejsu API REST ?

Kubectl jest odpowiedzialny za znalezienie i uwierzytelnianie aperver. W trybie proxy uruchom kubectl.

  • Jest to zalecana metoda.
  • Stosuje się lokalizację zapisanego apiserver.
  • APISERVER jest uwierzytelniony.
  • Inteligentne równoważenie obciążenia i awaryjne mogą być możliwe do osiągnięcia w przyszłości.

Bezpośrednio dostarczaj klientowi HTTP lokalizację i poświadczenia.

  • Możliwa jest inna technika.
  • Działa z pewnym kodem klienta, który jest mylony, gdy używany jest proxy.
  • Aby strzec przed MITM, musisz zaimportować certyfikat główny do przeglądarki.

Korzystanie z proxy Kubectl

To polecenie konfiguruje Kubectl do działania jako odwrotny proxy. Jest odpowiedzialny za zlokalizowanie i uwierzytelnianie aperver. Załóż ten scenariusz:

$ kubectl proxy -port = 8080

Przykład wyjścia jest następujący:

Bez użycia proxy Kubectl

Aby uzyskać token konta domyślnego, uruchom kubectl Opisz tajny… z GREP/CUT.

$ kubectl Opisz tajny

API i program programowy

Należy ogłosić, że Kubernetes obsługuje teraz biblioteki klientów Go i Python. Klient GO i klient Python mogą wykorzystać ten sam plik Kubeconfig, co Kubectl CLI do zlokalizowania i uwierzytelnienia za pomocą APISERVER.

Uzyskaj dostęp do interfejsu API z kapsułki

Podczas kontaktowania się z API z POD proces znajdowania i uwierzytelniania APISERVER różni się nieznacznie. Najlepszym sposobem na zlokalizowanie apiserver w kapsule jest użycie kubernetes.domyślny.SVC DNS Nazwa. Rozpoczyna się do usługi IP, a następnie jest to kierowane do przechylenia.

Sugerowane jest użycie poświadczenia konta serwisowego do uwierzytelniania się do przechylenia. Następnie token dla tego konta serwisowego jest przechowywany w drzewie systemu plików kontenera w tym kapsule. Pakiet certyfikatu jest wstawiany do drzewa systemu plików każdego kontenera at/var/run/secrets/kubernetes.IO/SERVICEACCOUNT/CA.CRT, jeśli jest dostępny i powinien być używany do weryfikacji certyfikatu serwowania APISERVER.

Wreszcie, w każdym kontenerze domyślna przestrzeń nazw dla działań API z nazwiskami jest przechowywana w pliku AT/var/run/secrets/kubernetes.IO/SERVICEACOUNT/NAZWA. Oto kilka opcji łączenia się z interfejsem API z wewnątrz kapsuły:

Uruchom proxy Kubectl jako proces w tle w pojemniku lub jako pojemnik na boisko. Umożliwia to inne procesy w dowolnym pojemniku kapsuły dostęp do interfejsu API Kubernetes za pomocą interfejsu LocalHost Podp.

Utwórz klienta, łącząc bibliotekę klientów GO z kodem. Kubernetes z InclusterConfig () Funkcje newforConfig () i newforConfig () mogą być użyte do konfiguracji klastra. Są odpowiedzialni za znalezienie i uwierzytelnianie aperver.

Wniosek

Tutaj przedstawiliśmy wytyczne dotyczące proxy Kubectl. Co to jest widok Kubectl Config Common i jak uzyskać dostęp do interfejsu API REST z proxy Kubectl Kubectl. Podaliśmy również przykłady, które pomogą Ci lepiej zrozumieć koncepcję.