
Faydalı Kubernetes Araçları
Kubernetes için hayatı daha kolaylaştıracak, benim de sıklıkla kullandığım araçları bu başlık altında topladım.
kubectl otomatik tamamlama
Kubernetes komutlarını otomatik tamamlamak için aşağıdaki adımları takip ederek bash otomatik tamamlamayı kurmanızı, ardında da kubctl için gerekli tanımlamayı yapmanızı tavsiye ediyorum;
yum install bash-completion -y echo "source <(kubectl completion bash)" >> ~/.bashrc source .bashrc
kubens
Kubens, Kubernetes namespace’leri arasında geçiş yaparak belirli bir namespace’e odaklanmanızı sağlayacaktır. Özellikle Openshift kullananların project’lerden aşina olacağı bu kullanım Kubernetes kullanıcılarının hayatını kolaylaştıracaktır. Ahmet Alp Balkan tarafında geliştirilen ve temelde bash script’i olan kubens aşağıdaki komutlarla kurulabilir;
yum install -y git sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
kubectx
Çoklu Kubernetes Cluster’ları ile çalışanların sıklıkla ihtiyaç duyacağı kubectx, cluster’lara arası geçiş yapmanızı sağlamakta. kubens gibi kubectx’de temelde bash script’i olup Ahmet Alp Balkan tarafında geliştirilmiştir. Kurulumu aşağıdaki şekilde yapılabilir;
yum install -y git sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
kail
Kısaca Kubernetes tail olarak tanımlamayabileceğimiz kail uygulaması verilen kıriterlere uygun pod’ların loglarını akış olarak sunmaktadır. Logları izlenecek pod’lar için kriter verilmesi sayesinde birden fazla pod’a sahip olan ya da sıkça hata alıp yeniden schedule edilen podlarınızı kolayca izleyebilirsiniz. Uygulamanın çalışması için go ihtiyacı olduğu için öncelikle go kurulumu yapılmalıdır;
yum -y install epel-release yum -y install golang export PATH=$PATH:$(go env GOPATH)/bin
go kurulumu ardından aşağıdaki şekilde kail kurulumu yapılabilir;
bash <( curl -sfL https://raw.githubusercontent.com/boz/kail/master/godownloader.sh) -b "$(go env GOPATH)/bin"
stern
kail gibi stern’de birden fazla pod’un log’unu aynı anda görmenizi sağlayan go ile yazılmış bir uygulama. Aşağıdaki komutlar yardımıyla güncel sürümü kurulabilir;
export STERN_RELEASE=$(curl -s https://api.github.com/repos/wercker/stern/releases/latest | grep tag_name | cut -d '"' -f 4) curl -L https://github.com/wercker/stern/releases/download/$STERN_RELEASE/stern_linux_amd64 -o /usr/local/bin/stern chmod +x /usr/local/bin/stern