Kubectl, Kubernetes cluster ortamında komutları çalıştırmanıza izin veren bir komut satırı arabirimidir. Cluster üzerinde çeşitli işlemleri bu şekilde gerçekleştirebileceğiz.
Kubectl bir kubeconfig’e(/etc/kubernetes/admin.conf) bağlıdır. Bu, bir veya daha fazla clustera erişim için bir yapılandırma dosyasıdır, kubectl komutunun sintaksisi aşağıdaki gibidir;
kubectl [command] [TYPE] [NAME] [flags]
- command : Bir veya daha fazla kaynak üzerinde gerçekleştirmek istediğiniz işlemi belirtir; örneğin create, get, describe, delete,logs ,exec, apply
- TYPE : Kaynak türünü belirtir. Kaynak türleri büyük / küçük harfe duyarlı değildir ve tekil, çoğul veya kısaltılmış formları belirtebilirsiniz. En sık kullanılan kaynak türleri
kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1
En sık kullanılan kaynak türleri aşağıdaki gibidir.
-
- pods, po
- nodes, no
- deployments, deploy
- replicasets, rs
- daemonsets, ds
- statefulsets, sts
- jobs
- cronjobs, cj
- services, svc
- persistentvolumes, pv
- persistentvolumeclaims, pvc
- all
- events
Burada iki tane kaynak türü çok sık kullanıldığı için onları ayrı olarak belirtmek istedim, bunlar all ve events kaynak türleridir, all tüm mevcut kaynaklara atıfta bulunmak için kullanılır, event ise container bazında değil ama kubernetes düzeyinde logları veriyor.
- NAME : Kaynağın adını belirtir. İsimler büyük / küçük harfe duyarlıdır. Kaynağın adı belirtililmesse aynı namespace’deki bütün kaynaklar görüntülenir.
kubectl get pods kubectl get pod example-pod1 example-pod2 kubectl get pod/example-pod1 replicationcontroller/example-rc1 kubectl get pod -f ./pod.yaml
- flags : İsteğe bağlı flagları belirtir. Örneğin, Kubernetes API sunucusunun adresini ve bağlantı noktasını belirtmek için -s veya –server bayraklarını kullanabilirsiniz.
NOT : kubectl komutunu devamlı devamlı yazmak yerine isterske bash de bir alias tanımlayıp bu kısmı kısaltabiliriz.
alias k='kubectl'
Bu yukarıda yazdığım genel yazının detaylarına referanslar kısmında belirttiğim kubernetesin kendi dökümantasyonlarından ulaşabilirsiniz. Benim bu yazıdaki amacım çok kullanılan komutların derli toplu el altında bulunması; (continue reading…)