Kubernetes dla każdego – sztuka konteneryzacji
kubectl cluster-info
informacje o klasterze
kubectl version --short
wersja klienta lokalnego oraz klastra
kubectl --dry-run -o yaml
zamienia polecenie imperatywne na deklaratywne
kubectl edit
bezpośrednia edycja obiektów utworzonych w kubernetesie
kubectl describe
szczegóły określonego zasobu lub grupy zasobów
node/minicube
pods
nodes
kubectl api-versions
obsługiwane wersje API na serwerze w postaci grupa/wersja
kubectl options
lista opcji które mogą być użyte z polecaniami
kubectl config
modyfikacja pliku konfiguracyjnego $HOME/.kube/config
view
pokaż zawartość plikuget-contexts
lista dostępnych kontekstówcurrent-context
obecnie ustawiony kontekstset-credentials
dodanie danych dostępowych uzytkownikaset-cluster
połączenie z klastremset-context <Context/ClusterName>
dodanie kontekstuuse-context
ustawienie domyslnego kontekstukubectl run
Uruchomienie określonego obrazu w klastrze
kubectl run nginx --image nginx
Uruchomienie pojedyńczej instancji nginx
kubectl run hello --image=hello-world
kubectl create
Utworzenie zasobu z pliku
kubectl create -f nginx.yaml
Utworzenie poda korzystając z danych pliku nginx.yaml
kubectl get nodes
wyświetlenie nodów
kubectl get pods
wyświetlenie podów
--all-namespaces
-o wide
pokazuje dadatkowo informacje o nodach na których jest uruchomiony-w
monitoruje na bieżącokubectl logs <PodName>
Logi z poda
-c <ContainerName>
--tail=X
X ostatnich linijek--since=X
ostatnie X sekund--follow
śledzenie logów - zwróć logi i czekaj na nowe-p
logi sprzed restartem podakubectl attach <PodName>
podłączenie się pod główny proces pierwszego kontenera
kubectl apply -f pod.yaml
Uruchomienie/utworzenie obiektu z pliku, apply nadpisuje obiekty (sposób idempotentny jesli dany obiekt już istnieje ale powinien zostac zaktualizowany to go nadpisze)
kubectl delete -f pod.yaml
Usunięcie poda
kubectl exec -it <PodName> /bin/bash
interaktywne podpięcie się do kontenera w podzie
kubectl exec <PodName> -- wget -q0- httl://localhost:8080
zwróci stronę z localhost:8080
kubectl proxy
tworzy proxy pomiędzy naszym środowiskiem a API Serwerem Kubernetesa
kubectl get deployments
kubectl get services
--v={0-9}
Ustawia logowanie na poziomie {0-9} (inaczej wypisuje operacje jakie zostają wykonane pod spodem polecenia)-o=json
apiVersion: apps/v1
kind: Deployment
metadata:
name: bb-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
bb: web
template:
metadata:
labels:
bb: web
spec:
containers:
- name: bb-site
image: bulletinboard:1.0
---
apiVersion: v1
kind: Service
metadata:
name: bb-entrypoint
namespace: default
spec:
type: NodePort
selector:
bb: web
ports:
- port: 8080
targetPort: 8080
nodePort: 30001