kubectl autocomplete

Kubectl Komut Satırı (Shell) Otomatik Tamamlama

Kubernetes cluster'ımızla konuşmak için kullandığımız komut "kubectl", bash ve zsh için otomatik tamamlama desteği sağlamaktadır. Bu da cluster'ımızı yönetirken bizi gereksiz yazı yazmaktan kurtarıp hızlıca tab tuşunu kullanarak otomatik tamamlamasını sağlıyor. Örneğin "kubectl -n" yazıp tab tuşuna bastığımızda namespace'lerimizi listeliyor veya birkaç benzersiz harf yazdığımızda otomatik tamamlıyor ve bunu tüm parametrelerde kullanabiliyoruz. Hatta "kubectl" yerine "k" bile kullanabiliyoruz. Hayydi gelin hızlıca bunu nasıl yaptığımıza bir bakalım.

Öncelikle  apt-get install bash-completion veya yum install bash-completion gibi basit bir komutla shell ekranında bash-completion yüklemesi yapıyoruz. (Farklı bir işletim sistemi kullanıyor iseniz buradan nasıl yükleneceğini kontrol edebilirsiniz.)

Bu komutlar /usr/share/bash-completion/bash_completion altına gerekli script'i oluşturmaktadır. Paket yöneticimize bağlı olarak bunu ~/.bashrc dosyamızın içine eklememiz gerekmektedir.

vi ~/.bashrc komutu ile dosyanın içerisine girerek uygun bir yere source /usr/share/bash-completion/bash_completion yazıyoruz. Akabinde shell ekranımızı yeniden başlatıp type _init_completion yazdığımızda script'in çıktısını alabiliyorsak işlem tamam, kurulumu doğru bir şekilde yaptık demektir.

Şimdi ise tüm shell oturumlarında kubectl'in otomatik tamamlamasını sağlayacağız. Bunu yapmanın iki yolu vardır:

  • İlki ~/.bashrc dosyamıza daha önceki adımda yaptığımız gibi aşağıdaki satırı eklemek:

echo 'source <(kubectl completion bash)' >>~/.bashrc

  • İkincisi de script'imizi /etc/bash_completion.d klasörü altına eklemek, bunu da aşağıdaki komut ile yapabilirsiniz:

kubectl completion bash >/etc/bash_completion.d/kubectl

Bunlara ek olarak bir de "kubectl" komutu yerine "k" komutunu kullanabilmek için aşağıdaki komutlar ile bir alias tanımlayabiliriz.

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc

İşlemlerin akabinde komut satırınızı yeniden başlattığınızda kubectl otomatik tamamlıyor olacaktır. Emin olun, artık hayat daha kolay! 🙂

Yorum Yapın