Kubectl Config Bildirimi

export KUBECONFIG=/workspace/conf/mykube_conf

namespace işlemleri

#oluşturmak için
kubectl create namespace mynamespace


#silmek için
kubectl delete namespace mynamespace

Pod İşlemleri

#pod listesi
kubectl -n mynamespace get pod

#label a göre filtreli pod listesi
kubectl -n mynamespace get pod -l app=mylabel

#log
kubectl -n mynamespace logs -f myapp-deployment-78495789c9-szj6p

#pod silme label filtresi ile
kubectl -n mynamespace delete pod -l app=mylabel

#pod silme pod name ile
kubectl -n mynamespace delete pod/myapp-deployment-78495789c9-szj6p  #pod/ diyerek silerseniz sadece pod silinir kube yeniden otomaitk başlatır eğer deploy/ statefulset/ vb gibi silerseniz kalıcı olarak silinir.


#pod içinde bir dosyayı run etme
kubectl -n mynamespace exec -ti myapp-deployment-6fccc87578-jq2kb /mydata/mybatch.sh

#pod içine terminal bağlantısı
kubectl -n mynamespace exec -ti myapp-deployment-6fccc87578-jq2kb /bin/bash #veya /bin/sh

#pod replica sayısını değiştirme burada 0 yaparak kapatıyoruz 
kubectl -n mynamespace scale deployment/myapp-deployment --replicas=0

#PSQL poduna doğruda psql ile bağlanma
kubectl -n mynamespace exec -ti pod/mypsql-deployment-6fccc87578-jq2kb -- psql -U postgres

yaml dosyası veya bilgi görüntüleme


#secret yaml dosyasını görünütleme
kubectl -n mynamespace get secret/mydbdb-db-credentials   -o yaml

#pod deployment bilgisini görüntüleme
kubectl -n mynamespace describe pod/myapp-deployment-6fccc87578-jq2kb

Job manuel başlatma (cron job veya normla job olabilir)


kubectl -n mynamespace create job --from=cronjob/myindexer-service myindexerservice

yeni deployment/secret/service vs ayağa kaldırmak için önce ilgili yaml dosyası hazırlanır


#Oluşturmak için
kubectl apply -f myapp.yaml  # var olan yaml ı birdaha uygularsanız sadece değişiklikleri uygular

#Silmek için
kubectl delete -f myapp.yaml

kubernate dns

kubectl -n kube-system get cm coredns -o yaml
kubectl -n kube-system edit cm coredns --record
kubectl -n kube-system delete pod -l k8s-app=kube-dns

yaml kontrol

kubectl -n <namespace> —dry-run=server apply ## server ile yaml farkını kontrol ediyor
kubectl -n <namespace> —dry-run=client apply ## yaml validate yapıyor

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/