Ana içeriğe geç

kubectl

Okunuşu
kub kıntrol
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/kubectl

Kısaca

kubectl, Kubernetes'in komut satırı aracıdır: uygulamaları dağıtmak, incelemek ve değiştirmek için bir cluster'ın API sunucusuna istek gönderir.

kubectl nedir?

Çoğu kişi bir Kubernetes cluster'ıyla kubectl üzerinden konuşur. Her komut, cluster'ın API sunucusuna giden bir isteğe dönüşür: kubectl get pods çalışan pod'ları listeler, kubectl describe bir nesnenin ayrıntılarını ve son olaylarını gösterir, kubectl logs bir konteynerin çıktısını yazdırır, kubectl exec ise bir konteynerin içinde komut çalıştırır. Hangi cluster'la ve kim olarak konuşacağını, genellikle ~/.kube/config olan ve birden çok cluster'ı adlandırılmış context'ler olarak tutabilen kubeconfig dosyasından öğrenir.

Bir cluster'ı değiştirmenin iki yolu vardır. kubectl create deployment ya da kubectl scale gibi imperative komutlar şu anda ne yapılacağını söyler. Kalıcı olan her şey için tercih edilen declarative yol ise istenen durumu YAML dosyalarında tarif edip kubectl apply -f çalıştırmaktır; bu komut dosyaları çalışan durumla karşılaştırır ve yalnızca gereken değişiklikleri yapar. Bu dosyaları Git'te tutmak her değişikliği incelenmiş bir commit'e dönüştürür; Helm ve GitOps controller'ları gibi aynı fikir üzerine kurulu araçlar bunu bir adım ileri taşır.

kubectl, cluster için televizyonun kumandası gibidir: iş başka yerde yapılır, araç yalnızca talimat gönderir. Kimlik bilgilerinin izin verdiği her şeyi değiştirebildiği için canlı ortama erişim genellikle rol tabanlı erişim kontrolüyle (RBAC) daraltılır; kubectl diff ya da --dry-run=server de bir değişikliğin ne yapacağını uygulanmadan önce gösterir. Adı da farklı biçimlerde okunur: kube control, kube cuttle ya da kube C-T-L.

Önemli noktalar

  • kubectl, Kubernetes'in komut satırı aracıdır; her komut API sunucusuna yapılan bir çağrıdır.
  • get, describe, logs ve exec çalışan şeyleri incelemeye yarar.
  • kubectl apply -f, cluster'ı istenen durumu tarif eden YAML dosyalarına uydurur.
  • kubectl'in hangi cluster'la ve kim olarak konuşacağını kubeconfig dosyası belirler.

Örnek

Günlük kubectl komutlarıbash
kubectl config get-contexts               # the clusters you can talk to
kubectl get pods -n shop                   # pods in the "shop" namespace
kubectl describe pod web-7d9f-x2kq -n shop # details and recent events
kubectl logs -f deploy/web -n shop         # follow the logs of the deployment's pod
kubectl diff -f web.yaml                   # what applying the file would change
kubectl apply -f web.yaml                  # make the cluster match the file
kubectl rollout undo deploy/web -n shop    # go back to the previous version

Sık sorulan sorular

kubectl apply ile kubectl create arasındaki fark nedir?

kubectl create yeni bir nesne oluşturur ve nesne zaten varsa hata verir. kubectl apply ise nesneyi oluşturur ya da dosyaya uyacak şekilde günceller; bu yüzden tekrar tekrar çalıştırılabilir ve dosyalarda tutulan yapılandırmaya uygun düşer.

kubectl kimlik bilgilerini nereden alır?

Bir kubeconfig dosyasından; KUBECONFIG değişkeni başka bir yeri göstermiyorsa bu ~/.kube/config dosyasıdır. Dosyada cluster'lar, kullanıcılar ve her biri bir cluster'ı bir kullanıcı ve namespace ile eşleştiren context'ler bulunur; kubectl config use-context aralarında geçiş yapar.

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar