Skip to content

kubectl Komutları açıklaması

Günlük işlerde kullanılan kubectl komutları, işe göre gruplandırılmış: kümeyi okumak, iş yüklerini incelemek, değişiklikleri uygulamak ve geri almak, servisleri dışa açmak, düğümleri yönetmek ve yapılandırma nesneleri oluşturmak. Her satır komutu gerçekçi bir çağrıyla eşleştirir.

kubectl, Kubernetes kümeniz üzerindeki tutamacınızdır. Model bildirimseldir: genellikle şeyleri zorunlu biçimde oluşturmak yerine bir manifest uygularsınız (apply -f), sonra sonucu geri okursunuz (get, describe, logs). Aşağıdaki komutlar günlük işlemeyi kapsar; varsayılan namespace'ta değilseniz bir namespace bayrağı (-n name) ile birlikte kullanın.

Referans tablosu · 59 kayıt
59 of 59 rows
Küme ve bağlam
Kontrol düzleminin ve çekirdek servislerin nerede çalıştığını gösterir.kubectl cluster-info
Arasında geçiş yapabileceğiniz kümeleri ve namespace'leri listeler.kubectl config get-contexts
Farklı bir küme veya namespace bağlamına geçer.kubectl config use-context my-prod
Geçerli bağlamın varsayılan namespace'ini ayarlar.kubectl config set-context --current --namespace=staging
kubeconfig'inizdeki kayıtlı bir bağlamı yeniden adlandırır.kubectl config rename-context old-name prod
Kümenin bildiği her kaynak türünü listeler.kubectl api-resources
İstemci ve sunucu Kubernetes sürümlerini yazdırır.kubectl version
Bir kaynağın desteklediği alanları API şemasından okuyarak gösterir.kubectl explain pod.spec.containers
Geçerli kullanıcının belirli bir eylemi yapıp yapamayacağını denetler.kubectl auth can-i delete pods
İş yüklerini inceleme
Pod'ları ve durumlarını listeler; node ve IP için -o wide ekleyin.kubectl get pods -A
Bir namespace'in yaygın kaynaklarını tek çağrıda listeler.kubectl get all
Herhangi bir get komutuna node ve IP sütunları ekler.kubectl get pods -o wide
Bir kaynağı ardındaki tam YAML manifest olarak yazdırır.kubectl get deploy/web -o yaml
Deployment'ları ve kaç replikanın hazır olduğunu listeler.kubectl get deployments
Statefulset'leri ve hazır replikalarını listeler.kubectl get statefulsets
Toplu iş job'larını ve zamanlanmış cronjob'ları listeler.kubectl get jobs,cronjobs
Tek bir pod'un olaylarını, etiketlerini ve durumunu gösterir.kubectl describe pod web-abc
Bir düğümün kapasitesini, koşullarını ve çalışan pod'larını gösterir.kubectl describe node node-1
Bir pod'un stdout'unu yazdırır; takip için -f, son çöküş için --previous.kubectl logs -f web-abc
Çalışan bir pod içinde komut çalıştırır.kubectl exec -it web-abc -- sh
Pod veya düğümler için canlı CPU ve bellek (metrics-server gerekir).kubectl top pods
Başarısız image çekmeleri ve backoff gibi son olayları listeler.kubectl get events -A --sort-by=.lastTimestamp
Ingress kurallarını ve yük dengeleyici adreslerini listeler.kubectl get ingress
Makineniz ile çalışan bir pod arasında dosya kopyalar.kubectl cp web-abc:/var/log/app.log ./app.log
Bir kaynak bir koşulu karşılayana dek bekler.kubectl wait --for=condition=ready pod -l app=web
Bir imajdan atıl bir pod başlatır, manifest gerekmez.kubectl run debug --rm -it --image=busybox -- sh
Uygula, ölçekle, yayınla
apply'ın neyi değiştireceğini, değiştirmeden gösterir.kubectl diff -f deploy.yaml
Bir manifest dosyasından kaynak oluşturur veya günceller.kubectl apply -f deploy.yaml
Manifest'leri uygular ve onları terk eden nesneleri siler.kubectl apply -f dir/ --prune -l app=web
Canlı bir kaynağı düzenleyicinizde açar ve kaydederken uygular.kubectl edit deploy/web
Canlı bir kaynakta birkaç alanı değiştirir.kubectl patch deploy/web --patch-file fix.json
Bir deployment'ın konteynerlerini yeni bir imaja yönlendirir.kubectl set image deploy/web web=nginx:1.27
Bir nesneyi değiştirir; gerektiğinde silip yeniden oluşturur.kubectl replace --force -f deploy.yaml
Bir manifest dosyasında bildirilen kaynakları kaldırır.kubectl delete -f deploy.yaml
Bir deployment'ın replika sayısını değiştirir.kubectl scale deploy/web --replicas=4
Bir rollout bitene veya başarısız olana dek izler.kubectl rollout status deploy/web
Bir rollout'un geçtiği sürümleri listeler.kubectl rollout history deploy/web
Bir deployment'ın her pod'unu teker teker yeniden başlatır.kubectl rollout restart deploy/web
Bir deployment'ı önceki sürümüne geri alır.kubectl rollout undo deploy/web
Servisler ve ağ
Servisleri türleri ve cluster IP'leriyle listeler.kubectl get svc
Şu anda her servise arkalık eden pod IP'lerini gösterir.kubectl get endpoints web
Bir pod kümesinin önünde servis oluşturur; --type=NodePort veya LoadBalancer küme dışına erişir.kubectl expose deploy/web --port=80
Her ingress'in arkasındaki yük dengeleyici adresini gösterir (alpha).kubectl ingress status -A
Pod trafiğini kısıtlayan politikaları listeler.kubectl get networkpolicies
Yerel bir portu pod veya servise tünel eder.kubectl port-forward svc/web 8080:80
Düğümler ve bakım
Küme düğümlerini ve durumlarını listeler.kubectl get nodes -o wide
Bir düğümü planlanamaz olarak işaretler (yeni pod gelmez).kubectl cordon node-1
Bir düğümü yeniden planlanabilir olarak işaretler.kubectl uncordon node-1
Bir düğümden pod'ları boşaltır ve planlanamaz olarak işaretler.kubectl drain node-1 --ignore-daemonsets
Pod'ları düğümden uzaklaştıran bir taint ekler veya kaldırır.kubectl taint node node-1 key=value:NoSchedule
Sıkışmış bir pod'u zarif kapanmayı atlayarak hemen siler.kubectl delete pod web-abc --grace-period=0 --force
Nesneler ve yapılandırma
Kaynakları kapsamak için yeni bir namespace oluşturur.kubectl create namespace staging
Namespace'leri ve durumlarını listeler.kubectl get namespaces
Yapılandırma anahtarlarını veya dosyalarını küme nesnesi olarak saklar.kubectl create configmap app --from-file=config.yaml
Namespace'teki configmap'leri listeler.kubectl get configmaps
Bir parolayı veya sertifikayı secret olarak saklar.kubectl create secret generic db --from-literal=password=s3cret
Namespace'teki secret'ları listeler.kubectl get secrets
Bir kaynağa etiket ekler veya kaldırır.kubectl label pod web-abc tier=backend
Selector'ların eşleştiremediği üst veri ekler.kubectl annotate deploy/web release=july