Kubernetes Cli

Kubernetes dla każdego – sztuka konteneryzacji

kubectl Cheat Sheet

CLI

Kubectl Book


Cluster

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

kubectl options lista opcji które mogą być użyte z polecaniami

Plik Kubeconfig

kubectl config modyfikacja pliku konfiguracyjnego $HOME/.kube/config


Uruchamianie

kubectl run Uruchomienie określonego obrazu w klastrze

Uruchomienie imperatywne

kubectl run nginx --image nginx Uruchomienie pojedyńczej instancji nginx

kubectl run hello --image=hello-world

Uruchomienie deklaratywne

kubectl create Utworzenie zasobu z pliku

kubectl create -f nginx.yaml Utworzenie poda korzystając z danych pliku nginx.yaml

Node

kubectl get nodes wyświetlenie nodów

Pod

kubectl get pods wyświetlenie podów

kubectl logs <PodName> Logi z poda

kubectl 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

Debugging

Formatting


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