Przejdź do treści

Kubernetes/k3s

Podstawowa diagnostyka klastra

# Wyświetla wszystkie węzły Kubernetes/k3s oraz ich status.
# Najważniejsze pola: STATUS, ROLES, VERSION, INTERNAL-IP.
kubectl get nodes

# Wyświetla wszystkie pody ze wszystkich namespace'ów.
# Przydatne do szybkiego wykrycia podów w stanie Error, Pending, CrashLoopBackOff itd.
kubectl get pods -A

Instalacja i aktualizacja np AWX

# Wdraża zasoby Kubernetes z bieżącego katalogu przy użyciu Kustomize.
# W katalogu musi znajdować się plik kustomization.yaml.
kubectl apply -k .

# Wdraża lub aktualizuje zasoby z pliku awx.yaml.
# Najczęściej jest to obiekt AWX zarządzany przez AWX Operator.
kubectl apply -f /opt/awx/awx.yaml

Sprawdzanie podów AWX

# Wyświetla aktualne pody w namespace awx.
kubectl get pods -n awx

# Wyświetla pody AWX i obserwuje zmiany na żywo.
# Opcja -w oznacza watch.
kubectl get pods -n awx -w

# Pokazuje szczegółowe informacje o wszystkich podach w namespace awx.
# Szczególnie przydatna jest sekcja Events.
kubectl describe pod -n awx

# Automatycznie znajduje pierwszy pod AWX Operatora
# i wyświetla jego szczegółowy opis.
kubectl describe pod -n awx \
  $(kubectl get pods -n awx -o name | grep awx-operator | head -1)

Diagnostyka konkretnych podów

# Szczegółowe informacje o konkretnym podzie awx-task.
kubectl describe pod -n awx awx-task-c8d98455d-gsxc7

# Szczegóły innej instancji poda awx-task.
kubectl describe pod awx-task-db448b44d-gvlj8 -n awx

# Szczegóły poda AWX Task.
kubectl describe pod awx-task-76b976b99f-sdzhp -n awx

# Próbuje wyświetlić szczegóły poda o nazwie awx.
# Ta komenda zadziała tylko wtedy, gdy rzeczywiście istnieje pod o nazwie "awx".
kubectl describe pod awx -n awx

AWX Operator

# Zmienia obraz kontenera kube-rbac-proxy w deployment AWX Operatora.
# W historii zostało to użyte jako obejście problemu z niedostępnym obrazem z gcr.io.
kubectl set image deployment/awx-operator-controller-manager \
  -n awx \
  kube-rbac-proxy=quay.io/brancz/kube-rbac-proxy:v0.15.0

# Czeka na zakończenie wdrażania nowej wersji deploymentu operatora.
kubectl rollout status deployment/awx-operator-controller-manager -n awx

# Restartuje AWX Operator.
# Kubernetes utworzy nowe pody deploymentu.
kubectl rollout restart deployment/awx-operator-controller-manager -n awx

StorageClass, PV i PVC

# Wyświetla dostępne StorageClass.
# W k3s typowo dostępny jest local-path.
kubectl get storageclass

# Wyświetla PersistentVolume dostępne w klastrze.
kubectl get pv

# Wyświetla PersistentVolumeClaim w namespace awx.
kubectl get pvc -n awx

# Obserwuje zmiany PVC w czasie rzeczywistym.
kubectl get pvc -n awx -w

# Wyświetla rozszerzone informacje o PVC.
# Można zobaczyć m.in. przypisany PV, StorageClass oraz pojemność.
kubectl get pvc -n awx -o wide

# Jednocześnie obserwuje PVC oraz pody AWX.
# Przydatne podczas diagnozowania problemów z montowaniem storage.
kubectl get pvc,pods -n awx -w

Usuwanie PVC

# Usuwa PVC o nazwie awx-projects-claim.
# UWAGA: w zależności od reclaimPolicy może to również doprowadzić
# do usunięcia powiązanego PersistentVolume i danych.
kubectl delete pvc awx-projects-claim -n awx

Najbardziej przydatny zestaw diagnostyczny AWX

# Węzły klastra
kubectl get nodes -o wide

# Wszystkie pody AWX
kubectl get pods -n awx -o wide

# Service AWX
kubectl get svc -n awx

# Ingress
kubectl get ingress -n awx

# PVC
kubectl get pvc -n awx

# PV
kubectl get pv

# StorageClass
kubectl get storageclass

# AWX Custom Resource
kubectl get awx awx -n awx -o yaml

# Eventy namespace AWX posortowane chronologicznie
kubectl get events -n awx --sort-by='.lastTimestamp'

# Logi operatora
kubectl logs -n awx \
  deployment/awx-operator-controller-manager \
  -c awx-manager \
  --tail=200

# Obserwacja podów na żywo
kubectl get pods -n awx -w

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *