Kubernetes, konteynerleştirilmiş uygulamaların otomatik dağıtımı, ölçeklenmesi ve yönetimi için güçlü bir platformdur. İşte Kubernetes ile çalışırken bilmeniz gereken en önemli 10 komut ve örnek çıktıları:
kubectl version
- Açıklama: Yüklü olan Kubernetes ve
kubectl
sürümlerini gösterir. - Örnek Çıktı:
Client Version: v1.21.0
Server Version: v1.21.0
kubectl get nodes
- Açıklama: Kubernetes kümesindeki düğümlerin listesini gösterir.
- Örnek Çıktı:
NAME STATUS ROLES AGE VERSION
node-1 Ready master 10d v1.21.0
node-2 Ready <none> 10d v1.21.0
kubectl get pods
- Açıklama: Kümedeki tüm pod’ların listesini gösterir.
- Örnek Çıktı:
NAME READY STATUS RESTARTS AGE
my-pod 1/1 Running 0 2m
another-pod 1/1 Running 0 5m
kubectl create -f [filename.yaml]
- Açıklama: Belirtilen YAML dosyasındaki kaynakları oluşturur.
- Örnek Çıktı:
$ kubectl create -f deployment.yaml
deployment.apps/my-deployment created
kubectl apply -f [filename.yaml]
- Açıklama: Belirtilen YAML dosyasındaki kaynakları günceller veya oluşturur.
- Örnek Çıktı:
$ kubectl apply -f service.yaml
service/my-service configured
kubectl delete pod [pod_name]
- Açıklama: Belirtilen pod’u siler.
- Örnek Çıktı:
$ kubectl delete pod my-pod
pod "my-pod" deleted
kubectl logs [pod_name]
- Açıklama: Belirtilen pod’un günlüklerini gösterir.
- Örnek Çıktı:
$ kubectl logs my-pod
Hello from my application!
kubectl exec -it [pod_name] -- [command]
- Açıklama: Belirtilen pod içinde komut çalıştırır.
- Örnek Çıktı:
$ kubectl exec -it my-pod -- /bin/bash
root@my-pod:/#
kubectl get services
- Açıklama: Kubernetes kümesindeki servislerin listesini gösterir.
- Örnek Çıktı:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-service ClusterIP 10.96.0.1 <none> 80/TCP 5m
kubectl scale deployment [deployment_name] --replicas=[number]
- Açıklama: Belirtilen dağıtım için replikaları ölçeklendirir.
- Örnek Çıktı:
$ kubectl scale deployment my-deployment --replicas=3
deployment.apps/my-deployment scaled
Kubernetes Sıfırlama Komutları
Eğer Kubernetes’i sıfırlamak veya temizlemek istiyorsanız, aşağıdaki komutları kullanabilirsiniz:
kubectl delete namespace [namespace_name]
- Açıklama: Belirtilen isim alanını ve içindeki tüm kaynakları siler.
- Örnek Çıktı:
$ kubectl delete namespace my-namespace
namespace "my-namespace" deleted
kubectl delete all --all
- Açıklama: Tüm kaynakları (pod’lar, hizmetler, dağıtımlar vb.) siler.
- Örnek Çıktı:
$ kubectl delete all --all
pod "my-pod" deleted
service "my-service" deleted
kubectl drain [node_name] --ignore-daemonsets
- Açıklama: Belirtilen düğümü bakım için boşaltır.
- Örnek Çıktı:
$ kubectl drain node-1 --ignore-daemonsets
node/node-1 drained
kubectl cluster-info dump
- Açıklama: Küme durumunu döker, hata ayıklamak için kullanışlıdır.
- Örnek Çıktı:
$ kubectl cluster-info dump
...
Bu komutlar, Kubernetes ile etkili bir şekilde çalışmanızı sağlamak ve sisteminizi temiz tutmak için önemlidir.