Na początek kupuj absolutnie najtańsze narzędzia, jakie możesz znaleźć. Potem uaktualnij te, których często używasz. Jeśli finalnie któregoś z nich używasz do pracy, kup najlepsze, na jakie Cię stać.
Kevin Kelly
W tym poradniku skupię się na instalacji i pierwszym uruchomieniu minikube
na systemie Linux, Debian 12
.
minikube
to narzędzie umożliwiające uruchomienie na lokalnej maszynie pojedynczego klastra K8s
. Bez konieczności posiadania klastra będziemy mieli możliwość eksperymentowania, rozwijania i testowania aplikacji w lokalnym środowisku K8s
. Musimy się liczyć, że skala naszego projektu będzie silnie zależeć od możliwości naszej lokalnej maszyny i prawdopodobnie będzie dużo mniejsza od możliwości środowiska produkcyjnego. Tym nie mniej lokalne uruchamianie i zarządzanie lokalnym środowiskiem K8s
będzie przydatne do nauki, testowania i debugowania aplikacji przed ich wdrożeniem na większych klastrach produkcyjnych.
Minikube/Documentation/Get Started!. Na stronie opisane są minimalne wymagania jakie musi spełniać system by zainstalować minikube
.
Dockera
i narzędzi z nim związanych:Moim ulubionym menadżerem kontenerów jest Docker
. Instalujemy go poleceniem:
sudo apt install docker
sudo apt install docker-compose
minikube
z wykorzystaniem gotowej binarki:minikube
może zostać zainstalowany na systemie Linux
jako plik binarny, lub jako archiwum z pakietem. W moim wypadku wybór padł na plik binarny, bo czemu nie:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube
Działanie minikube
możesz sprawdzić poleceniem minikube start
, oraz minikube status
”
sebastian@beta ~ $minikube start
minikube v1.32.0 na Debian 12.2
Automatycznie wybrano sterownik docker
Using Docker driver with root privileges
Starting control plane node minikube in cluster minikube
Pulling base image ...
Downloading Kubernetes v1.28.3 preload ...
> preloaded-images-k8s-v18-v1...: 403.35 MiB / 403.35 MiB 100.00% 5.25 Mi
> gcr.io/k8s-minikube/kicbase...: 453.90 MiB / 453.90 MiB 100.00% 5.61 Mi
Creating docker container (CPUs=2, Memory=3900MB) ...
Przygotowywanie Kubernetesa v1.28.3 na Docker 24.0.7...
▪ Generating certificates and keys ...
▪ Uruchamianie płaszczyzny kontrolnej ...
▪ Konfigurowanie zasad RBAC ...
Configuring bridge CNI (Container Networking Interface) ...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
Verifying Kubernetes components...
Enabled addons: storage-provisioner, default-storageclass
kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
sebastian@beta ~ $minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
sebastian@beta ~ $minikube stop
kubectl
Jednym z problemów naszej instalacji jest brak narzędzia kubectl
służącego do interakcji z klastrem. Możemy je zainstalować w systemie za pomocą poleceń
sebastian@beta ~ $ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sebastian@beta ~ $sudo install kubectl /usr/local/bin/kubectl
lub też skorzystać z podpowiedzi i powierzyć to zadanie minikube
minikube kubectl -- get pods -A
kubectl
Obie wersje sprawdzą się równie dobrze. Ponowne uruchomienie minikube
będzie tym razem wyglądało inaczej:
sebastian@beta $minikube start
minikube v1.32.0 na Debian 12.2
Using the docker driver based on existing profile
Starting control plane node minikube in cluster minikube
Pulling base image ...
Updating the running docker "minikube" container ...
Przygotowywanie Kubernetesa v1.28.3 na Docker 24.0.7...
Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
Enabled addons: storage-provisioner, default-storageclass
Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Od tej chwili możemy się cieszyć w pełni działającym minikube
. Wykorzystamy to narzędzie w innych poradnikach.