Jak uruchomić lokalny klaster Kubernetes za pomocą Minikube?

Jak uruchomić lokalny klaster Kubernetes za pomocą Minikube?

Minikube to minimalna dystrybucja Kubernetes przeznaczona do użytku w lokalnym rozwoju. Został opracowany w ramach projektu Kubernetes i zawiera implementacje wszystkich głównych funkcji klastra.

Minikube działa na hostach Linux, Mac i Windows. Może używać kontenerów lub środowiska maszyny wirtualnej do uruchamiania klastra i jego obciążeń. Oto wszystkie obsługiwane środowiska wykonawcze:

  • Doker
  • Podman
  • KVM
  • Hyper-V
  • Hiperkit
  • paralele
  • wirtualne pudełko
  • VMware

Przed kontynuowaniem tego przewodnika upewnij się, że masz zainstalowaną jedną z tych technologii. Proces instalacji Minikube automatycznie wykryje dostępne środowiska wykonawcze i zastosuje odpowiednią konfigurację. Pokażemy Ci, jak ukończyć wdrożenie i zacząć korzystać z Minikube.

Instalowanie minikostki

W tym przewodniku skupimy się na systemach Linux x86. Jeśli używasz systemu Windows, Mac lub innej platformy procesora, zapoznaj się z dokumentacją Minikube, aby uzyskać najbardziej szczegółowe informacje dotyczące konfiguracji. Po wstępnej procedurze instalacji podstawowe użycie Minikube jest identyczne we wszystkich obsługiwanych systemach.

Użytkownicy Linuksa mogą wybrać pomiędzy bezpośrednim pobraniem pliku binarnego lub pakietu Debian/RPM. W tym przykładzie użyjemy pobierania binarnego.

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

$ sudo zainstaluj minikube-linux-amd64 /usr/local/bin/minikube

Minikube zostanie teraz zainstalowany i będzie gotowy do użycia.

Uruchamianie klastra Kubernetes

Uruchom klaster Minikube za pomocą minikube startpolecenia:

$ minikube start

minikube v1.25.2 na Ubuntu 20.04

Automatycznie wybrany sterownik dokera. Inne opcje: kvm2, ssh

Uruchamianie minikube węzła płaszczyzny sterowania w minikube klastra

ciągnięcie obrazu podstawowego. …

Downloading Kubernetes v1.23.3 preload. ..

Minikube automatycznie pobierze i uruchomi najnowszą wersję Kubernetes. Ten proces może potrwać kilka minut. Dane wyjściowe polecenia wskażą postęp i wyświetlą działania podejmowane przez Minikube. W powyższym przykładzie widać, że sterownik platformy Docker został wybrany do obsługi klastra. Zapoznaj się z dokumentacją sterownika Minikube, jeśli platforma kontenerowa lub stos wirtualizacji nie zostaną automatycznie wykryte.

Korzystanie z klastra z Kubectl

Minikube modyfikuje Twoje środowisko, dzięki czemu możesz łączyć się z klastrem przy użyciu istniejącej instalacji Kubectl. Doda minikubekontekst do twojego pliku KUBECONFIG, który jest skierowany do twojego klastra Minikube.

Minikube zawiera również dołączoną wersję Kubectl, do której można uzyskać dostęp za pomocą minikube kubectlpolecenia. Jest to przydatne, jeśli nie masz jeszcze zainstalowanego Kubectl lub jeśli istniejący plik binarny różni się od wersji klastra Minikube.

# Uses the Kubectl version that's bundled with Minikube

$ minikube kubectl get pods

W dalszej części tego samouczka pokażemy proste kubectlpolecenie i założymy, że jest ono skierowane do twojego klastra Minikube. Możesz skonfigurować alias powłoki, aby używać Kubectl powiązanego z Minikube bez prefiksu za minikubekażdym razem:

$ alias kubectl="minikube kubectl"

Teraz, gdy Minikube live i Kubectl są dostępne, możesz dodawać aplikacje do swojego klastra Kubernetes:

$ kubectl create deployment nginx --image=nginx:latest

Utworzono deployment.apps/nginx

$ kubectl expose deployment nginx --type=LoadBalancer --port=80

service/nginx exposed

Polecenie minikube serviceudostępnia publiczny adres URL usługi:

$ minikube service nginx --url

http://192.168.49.2:31599

Wklej adres URL do przeglądarki internetowej (lub uruchom polecenie bez --urlflagi), aby wyświetlić swoją usługę.

Dostęp do panelu sterowania Kubernetes

Minikube udostępnia pulpit nawigacyjny Kubernetes jako opcjonalną wbudowaną funkcję. Uruchom minikube dashboardpolecenie, aby załadować komponenty pulpitu nawigacyjnego i uruchomić interfejs w nowej karcie przeglądarki.

Możesz użyć pulpitu nawigacyjnego, aby zarządzać swoimi zasobami i wizualizować ich aktywność. Trzymaj minikube dashboardkomendę w terminalu podczas interakcji z panelem sterowania. Kiedy skończysz, zakończ polecenie za pomocą Ctrl+C.

Włączanie rejestru obrazów

Minikube zawiera rejestr obrazów jako opcjonalny dodatek. Pozwala to na przechowywanie obrazów kontenerów w Minikube, udostępniając je do wdrożenia w klastrze.

Najpierw włącz dodatek rejestru:

$ minikube addons enable registry

Następnie oznacz obraz, aby wskazywał na rejestr Minikube. Rejestr nasłuchuje na porcie 5000 na adresie IP podanym minikube ipprzez polecenie.

$ docker tag my-image:latest $(minikube ip):5000/my-image:latest

Aby można było przesłać, Docker musi być skonfigurowany do akceptowania adresu URL jako niezabezpieczonego rejestru. Dodaj go do insecure-registriespola wewnątrz /etc/docker/daemon.jsonpliku, aby Docker zezwalał na dostęp HTTP.

Zastąp adres IP adresem określonym w minikube ippoleceniu. Uruchom ponownie Docker za pomocą systemctl restart dockerpolecenia.

Możesz teraz przesłać swój obraz do rejestru Minikube:

$ docker push $(minikube ip):5000/my-image:latest

Zanim moduły w klastrze będą mogły używać tego obrazu, należy wykonać ostatni krok. Środowisko uruchomieniowe kontenera Minikube musi być również skonfigurowane, aby umożliwić niezabezpieczony dostęp do rejestru. Możesz to włączyć, włączając --insecure-registryflagę uruchamiania minikube start. Adres IP powinien odnosić się do domyślnego adresu IP klastra instalacji Minikube. Możesz to uzyskać, uruchamiając kubectl get servicesi patrząc na CLUSTER-IPusługę kubernetes. Następnie zatrzymaj Minikube i uruchom go ponownie z dodatkową flagą.

$ kubectl get service

NAZWA TYP KLASTRA-IP ZEWNĘTRZNY-IP PORT(Y) WIEK

kubernetes ClusterIP 10.96.0.1 <brak> 443/TCP 63m

$ minikube stop

$ minikube start --insecure-registry 10.96.0.1/24

Zmiana wersji Kubernetes

Minikube domyślnie używa najnowszej dostępnej wersji Kubernetes. Aby przełączyć się na określoną wersję, włącz --kubernetes-versionflagę podczas uruchamiania klastra:

$ minikube start --kubernetes-version=v1.23.0

Możesz uruchomić wiele klastrów jednocześnie, każdy z różnymi wersjami Kubernetes, tworząc wiele oddzielnych profili. Flaga --profilewybiera profil docelowy dla konkretnego polecenia.

$ minikube start --profile v1.22 --kubernetes-version=v1.22.0

$ minikube start --profile v1.23 --kubernetes-version=v1.23.0

$ minikube --profile v1.22 kubectl get pods

Korzystanie z wielu węzłów

Minikube obsługuje wiele wirtualnych węzłów. Pozwala to przetestować skalowanie aplikacji w dostępnych węzłach bez wdrażania nowego sprzętu fizycznego.

Ten przykład tworzy klaster z trzema węzłami:

$ minikube start --nodes 3

Możesz sprawdzić, czy wiele węzłów jest dostępnych, wyświetlając je w Kubectl:

$ kubectl get nodes

NAZWA STATUS ROLE WIEK WERSJA

minikube Ready control-plane,master 71m v1.23.3

minikube-m02 Ready <none> 71m v1.23.3

minikube-m03 Ready <none> 71m v1.23.3

Włącz zdalny dostęp

Minikube domyślnie nie akceptuje ruchu przychodzącego. Jest przeznaczony do użytku lokalnego i nie jest przeznaczony do obsługi żądań zewnętrznych. Nadal możesz włączyć zdalny dostęp do obciążeń w klastrze, zmieniając adres nasłuchiwania płaszczyzny sterowania. Zrób to dopiero po pełnej ocenie ryzyka – Twoja sieć będzie otwarta na świat zewnętrzny.

$ minikube start --listen-address=0.0.0.0

Przekazywanie portów jest bezpieczniejszym rozwiązaniem, gdy trzeba otworzyć dostęp do określonej usługi. Użyj polecenia Kubectl port-forward, aby utworzyć trasę z portu hosta do jednej z Twoich usług:

$ kubectl port-forward service/nginx 8080:80

Możesz teraz odwiedzić localhost:8080, aby uzyskać dostęp do usługi NGINX utworzonej wcześniej w tym samouczku. Port 8080 na hoście jest mapowany na port 80 usługi.

Usuwanie minikostki

Jedną z zalet Minikube jest łatwość odinstalowania. Jeśli zdecydujesz, że Minikube nie jest dla Ciebie, uruchom deletepolecenie, aby usunąć wszystko, co dodało do systemu:

$ minikube delete

Mniej destrukcyjną opcją jest minikube stopzatrzymanie klastra, ale pozostawienie wszystkich zasobów nietkniętych. Możesz ponownie uruchomić klaster za pomocą minikube startpolecenia.

Wniosek

Minikube to samodzielna dystrybucja Kubernetes, która używa kontenerów lub wirtualizacji do uruchamiania klastra na komputerze lokalnym. Jest utrzymywany przez nadrzędny projekt Kubernetes. Minikube to w pełni funkcjonalna implementacja Kubernetes, która obejmuje pulpit nawigacyjny Kubernetes, obsługę sieci, pamięć trwałą i wymienne środowiska wykonawcze kontenerów.

Możesz dowiedzieć się więcej o Minikube w oficjalnej dokumentacji . Możesz też zacząć używać znanych poleceń Kubectl, aby zarządzać klastrem i wdrażać nowe obciążenia. Masz teraz w pełni działające lokalne środowisko Kubernetes do tworzenia i testowania aplikacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *