Skip to content

Czym jest imperatywne podejście do zarządzania klastrem w Kubernetes?

Polega ono na tym, że naszym zadaniem, jako administratorów klastra jest uzyskanie pożądanego rezultatu np. uruchomienia aplikacji, w pojedynczych krokach, przeważnie z wykorzystaniem linii poleceń. Przykładem możey być uruchomienie Pod'a, Deploymentu. Taki sposób przydaje się przy testowaniu lub szybkim wdrożeniu (przykładowo na egzaminie), lecz nie w środowisku produkcyjnym.

Imperatywne operacje

Utworzenie Poda

kubectl run --image=<nazwa_image> <nazwa_Poda>

np.

kubectl run --image=nginx nginx

Stworzenie Deploymentu

kubectl create deployment --image=<nazwa_image> <nazwa_deploymentu>

np.

kubectl create deployment --image=nginx nginx

Po takim poleceniu stworzy się Deployment nginx z jednym Podem image nginx.

Udostępnienie Deploymentu - stworzenie serwisu

To polecenie utworzy serwis typu ClusterIP.

kubectl expose deployment <nazwa_deploymentu> --port <numer_portu>

np.

kubectl expose deployment nginx --port 80

Edycja działającego Deploymentu

Polecenie to uruchomi default edytor tekstu używany w systemie. Możemy go zdefiniować w zmiennej środowiskowej systemu $EDITOR.

kubectl edit deployment <nazwa_deploymentu>

Skalowanie Deploymentu

kubectl scale deployment <nazwa_deploymentu> --replicas=<ilosc_replik>

Ustawienie obrazu Podów działających w ramach Deploymentu

kubectl set image deployment <nazwa_deploymentu> <nazwa_kontenera>:<wersja_kontenera>