26 Nisan 2023 Çarşamba

kubectl debug seçeneği

Giriş
Kubernetes 1.25 ile geliyor. Açıklaması şöyle. Yani içinde shell olmayan bir container'ı bir şekilde bir başka container ile sarmalıyor ve shell erişimi veriyor.
Ephemeral containers are useful for interactive troubleshooting when kubectl exec is insufficient because a container has crashed or a container image doesn’t include debugging utilities, such as with distroless images.

You can use the kubectl debug command to add ephemeral containers to a running Pod.
Örnek
Şöyle yaparız. Image distroless olduğu için içinde shell yok ve hata alırız
# run the container
kubectl run node --image=gcr.io/distroless/nodejs18-debian11:latest --command -- /nodejs/bin/node -e "while(true) { console.log('hello') }" # Try opening a shell to the container kubectl exec -it node -- sh // Output OCI runtime exec failed: exec failed: unable to start container process: exec: "sh": executable file not found in $PATH: unknown command terminated with exit code 126
Şöyle yaparız. Burada sarmalamak için bash kullanılıyor
kubectl debug -it \
  --image=bash \  # Image to attach. As we want a shell, we are using bash
  --target=node \ # Name of the container to attach to
  node            # For some reason I don’t understand, we must repeat it
Örnek
Şöyle yaparız. Burada sarmalamak için busybox kullanılıyor
kubectl alpha debug -it podname --image=busybox --target=containername
Örnek
Şöyle yaparız. Burada sarmalamak için busybox kullanılıyor
kubectl debug pod/myapp-pod -it \
  --image=busybox \
  --copy-to=myapp-debug --container=myapp-container















Hiç yorum yok:

Yorum Gönder

Cluster Propotional Autoscaler - ReplicaSet Ekler/Siler

Giriş Açıklaması şöyle CPA aims to horizontally scale the number of Pod replicas based on the cluster’s scale. A common example is DNS ser...