Kubernetes Komut Rehberi (kubectl)

1. Kubernetes Sürümünü Görüntüleme
kubectl version

📌Kubectl ve API Server sürümünü gösterir.

2. Tüm Namespace’leri Listeleme
kubectl get namespaces

📌Kubernetes cluster’daki tüm namespace’leri listeler.

3. Varsayılan Namespace’i Değiştirme
kubectl config set-context --current --namespace=my-namespace

📌Varsayılan namespace’i değiştirir.

4. Cluster Bilgilerini Görüntüleme
kubectl cluster-info

📌Cluster API adreslerini listeler.

5. Node’ları Listeleme
kubectl get nodes

📌Cluster’daki tüm node’ları listeler.

6. Node Detaylarını Görüntüleme
kubectl describe node <node-name>

📌Node detaylarını gösterir.

7. Pod’ları Listeleme
kubectl get pods

📌Namespace’teki pod’ları listeler.

8. Tüm Namespace’lerde Pod’ları Listeleme
kubectl get pods --all-namespaces

📌Tüm namespace’lerdeki pod’ları listeler.

9. Pod Detaylarını Görme
kubectl describe pod <pod-name>

📌Pod detaylarını gösterir.

10. Pod Loglarını Görüntüleme
kubectl logs <pod-name>

📌Pod’un loglarını gösterir.

11. Pod Loglarını Takip Etme
kubectl logs -f <pod-name>

📌Pod loglarını canlı takip eder.

12. Belirli Container’ın Loglarını Görüntüleme
kubectl logs <pod-name> -c <container-name>

📌Pod içindeki belirli container’ın loglarını gösterir.

13. Pod Oluşturma (YAML ile)
kubectl apply -f pod.yaml

📌YAML dosyasıyla pod oluşturur.

14. Pod Silme
kubectl delete pod <pod-name>

📌Pod’u siler.

15. Deployment Oluşturma
kubectl create deployment my-deploy --image=nginx

📌Deployment oluşturur.

16. Deployment Silme
kubectl delete deployment my-deploy

📌Deployment’ı siler.

17. Deployment Detaylarını Görme
kubectl describe deployment my-deploy

📌Deployment detaylarını gösterir.

18. Deployment Yaml’i Çıkarma
kubectl get deployment my-deploy -o yaml

📌Deployment’ın YAML çıktısını verir.

19. Deployment’u Ölçeklendirme
kubectl scale deployment my-deploy --replicas=3

📌Deployment kopya sayısını artırır veya azaltır.

20. Service Listeleme
kubectl get services

📌Service’leri listeler.

21. Service Oluşturma
kubectl expose deployment my-deploy --port=80 --type=NodePort

📌Deployment’tan service oluşturur.

22. Service Silme
kubectl delete service my-deploy

📌Service’i siler.

23. ConfigMap Oluşturma
kubectl create configmap my-config --from-literal=env=prod

📌ConfigMap oluşturur.

24. ConfigMap Listeleme
kubectl get configmaps

📌ConfigMap’leri listeler.

25. ConfigMap Detayları
kubectl describe configmap my-config

📌ConfigMap detaylarını gösterir.

26. Secret Oluşturma
kubectl create secret generic my-secret --from-literal=password=12345

📌Secret oluşturur.

27. Secret Listeleme
kubectl get secrets

📌Secret’ları listeler.

28. Secret Detaylarını Görme
kubectl describe secret my-secret

📌Secret detaylarını gösterir.

29. PVC Listeleme
kubectl get pvc

📌Persistent Volume Claim’leri listeler.

30. PVC Oluşturma
kubectl apply -f pvc.yaml

📌YAML dosyasından PVC oluşturur.

31. PVC Silme
kubectl delete pvc my-pvc

📌PVC’yi siler.

32. PV Listeleme
kubectl get pv

📌Persistent Volumes listeler.

33. Pod Restart Etme
kubectl rollout restart deployment my-deploy

📌Deployment içindeki pod’ları yeniden başlatır.

34. Rollout Durumunu Görme
kubectl rollout status deployment my-deploy

📌Rollout durumunu gösterir.

35. Rollout Geri Alma
kubectl rollout undo deployment my-deploy

📌Deployment’ı bir önceki versiyona döner.

36. Tüm Objeleri Listeleme
kubectl get all

📌Tüm Kubernetes objelerini listeler.

37. Yaml Dosyasından Silme
kubectl delete -f resource.yaml

📌Yaml ile oluşturulmuş objeyi siler.

38. Tüm Namespace’i Silme
kubectl delete namespace my-namespace

📌Namespace’i siler.

39. Namespace Oluşturma
kubectl create namespace my-namespace

📌Namespace oluşturur.

40. Kubectl Config Dosyasını Görüntüleme
kubectl config view

📌Kubectl config detaylarını gösterir.

41. Kubectl Context Listeleme
kubectl config get-contexts

📌Tüm context’leri listeler.

42. Kubectl Context Değiştirme
kubectl config use-context my-context

📌Context değiştirir.

43. Pod’a Shell Erişimi
kubectl exec -it <pod-name> -- /bin/bash

📌Pod’a shell ile bağlanır.

44. Pod’a Komut Çalıştırma
kubectl exec <pod-name> -- ls /app

📌Pod’da komut çalıştırır.

45. Label Ekleme
kubectl label pod <pod-name> env=prod

📌Objeye label ekler.

46. Label Silme
kubectl label pod <pod-name> env-

📌Label’ı siler.

47. Objeleri Label’a Göre Filtreleme
kubectl get pods -l env=prod

📌Label’a göre pod’ları listeler.

48. Annotation Ekleme
kubectl annotate pod <pod-name> owner=team1

📌Annotation ekler.

49. Annotation Silme
kubectl annotate pod <pod-name> owner-

📌Annotation siler.

50. API Resources Listeleme
kubectl api-resources

📌Tüm kaynak tiplerini listeler.

51. API Versions Listeleme
kubectl api-versions

📌API versiyonlarını listeler.

52. Deployment’u Edit Etme
kubectl edit deployment my-deploy

📌Deployment’ı canlı düzenler.

53. Resource’u Dry-Run Yapma
kubectl apply -f deploy.yaml --dry-run=client

📌Dry-run yapar.

54. Kubectl Proxy Başlatma
kubectl proxy

📌API Server’a proxy oluşturur.

55. Pod Kaynak Kullanımını Görme
kubectl top pod

📌Pod’ların CPU ve bellek kullanımını gösterir.

56. Node Kaynak Kullanımını Görme
kubectl top node

📌Node’ların CPU ve bellek kullanımını gösterir.

57. Resource Quota Listeleme
kubectl get resourcequota

📌Kaynak kotalarını listeler.

58. Resource Quota Oluşturma
kubectl apply -f quota.yaml

📌Quota oluşturur.

59. Role Oluşturma
kubectl create role pod-reader --verb=get,list --resource=pods

📌Yeni role oluşturur.

60. RoleBinding Oluşturma
kubectl create rolebinding read-pods --role=pod-reader --user=dev

📌Role binding oluşturur.

61. ClusterRole Listeleme
kubectl get clusterroles

📌ClusterRole’leri listeler.

62. ClusterRoleBinding Listeleme
kubectl get clusterrolebindings

📌ClusterRoleBinding’leri listeler.

63. Pod Template Yaml’i Almak
kubectl run test --image=nginx --dry-run=client -o yaml

📌Pod manifestini oluşturur.

64. Resource Count
kubectl get pods --no-headers | wc -l

📌Pod sayısını verir.

65. Pod Restart Sayısını Görme
kubectl get pods -o custom-columns=POD:.metadata.name,RESTARTS:.status.containerStatuses[*].restartCount

📌Restart sayılarını gösterir.

66. Ephemeral Container Ekleme
kubectl debug <pod-name> --image=busybox --target=<container-name>

📌Ephemeral container ekler.

67. Job Oluşturma
kubectl create job my-job --image=busybox -- echo "Hello"

📌Job oluşturur.

68. CronJob Oluşturma
kubectl create cronjob my-cron --image=busybox --schedule="*/5 * * * *" -- echo "hi"

📌CronJob oluşturur.

69. CronJob Listeleme
kubectl get cronjob

📌CronJob’ları listeler.

70. StatefulSet Listeleme
kubectl get statefulsets

📌StatefulSet’leri listeler.

71. StatefulSet Oluşturma
kubectl apply -f sts.yaml

📌StatefulSet oluşturur.

72. DaemonSet Listeleme
kubectl get daemonsets

📌DaemonSet’leri listeler.

73. DaemonSet Oluşturma
kubectl apply -f daemonset.yaml

📌DaemonSet oluşturur.

74. Ingress Listeleme
kubectl get ingress

📌Ingress kaynaklarını listeler.

75. Ingress Oluşturma
kubectl apply -f ingress.yaml

📌Ingress oluşturur.

76. Pod Koduya Göre Arama
kubectl get events | grep Error

📌Event loglarında hata arar.

77. Event Listeleme
kubectl get events

📌Event loglarını listeler.

78. ServiceAccount Listeleme
kubectl get serviceaccounts

📌ServiceAccount’ları listeler.

79. ServiceAccount Oluşturma
kubectl create serviceaccount my-sa

📌ServiceAccount oluşturur.

80. CRD Listeleme
kubectl get crd

📌Custom Resource Definition’ları listeler.

81. CRD Oluşturma
kubectl apply -f crd.yaml

📌CRD oluşturur.

82. Etiketle Filtreleme
kubectl get pods -l app=myapp

📌Label’a göre pod filtreler.

83. Etiketle Silme
kubectl delete pod -l app=myapp

📌Label’a göre silme yapar.

84. Owner Reference Kontrolü
kubectl get pods -o jsonpath='{.items[*].metadata.ownerReferences}'

📌Owner ilişkilerini gösterir.

85. Pod IP’sini Alma
kubectl get pod <pod-name> -o jsonpath='{.status.podIP}'

📌Pod IP adresini verir.

86. Node IP’sini Alma
kubectl get node <node-name> -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}'

📌Node IP’sini verir.

87. Deployment Hatasını İnceleme
kubectl describe deployment <deploy-name>

📌Deployment hatalarını gösterir.

88. Image Pull Policy Değiştirme
kubectl set image deployment my-deploy nginx=nginx:latest --record

📌Deployment container image günceller.

89. Pod Restart Etme
kubectl delete pod <pod-name>

📌Pod’u silip yeniden yaratılmasını sağlar.

90. JSONPath Kullanımı
kubectl get pods -o jsonpath='{.items[*].metadata.name}'

📌Özelleştirilmiş çıktı verir.

91. Kubeconfig Dosya Yolu Belirtme
kubectl --kubeconfig=/path/to/config get pods

📌Başka bir kubeconfig dosyası kullanır.

92. Namespace’i YAML ile Oluşturma
kubectl apply -f ns.yaml

📌YAML dosyasından namespace oluşturur.

93. Pod Status Gösterimi
kubectl get pods -o wide

📌Pod IP ve node bilgisini gösterir.

94. Custom Column Çıktısı
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase

📌Özel kolonlar oluşturur.

95. Tüm Objeleri YAML Olarak Görme
kubectl get all -o yaml

📌Tüm objeleri YAML olarak listeler.

96. Kendi Kaynağını Tanımlama (CRD)
kubectl explain <custom-resource>

📌Custom resource yapısını gösterir.

97. Pod Delete Force
kubectl delete pod <pod-name> --grace-period=0 --force

📌Pod’u zorla siler.

98. Resource Quota Detayını Görme
kubectl describe quota

📌Resource quota detaylarını gösterir.

99. Object Count
kubectl get pod --all-namespaces | wc -l

📌Pod sayısını verir.

100. Yardım Almak
kubectl --help

📌Kubectl yardım menüsünü gösterir.