Kubernetes ve Docker için Dashboard: Weave Scope

H. Alperen Selcuk
4 min readJul 15, 2021

bu yazımda kullanışlı bir dashboard olan weave scope inceleyeceğim.

weave scope hem kubernetes hem de docker için bir monitoring-visualisation tool olarak kullanılır. on-premise de bulunan docker host üzerinde ve herhangi bi platformada bulunan kubernetes cluster için çalıştırabilirsiniz.

Weave Scope on DOCKER

öncelikle bir docker-host yaratalım RHEL7 üzerinde docker kullanacağım. hızlıca bir docker kuralım google cloud da bir instance kullanacağım.

yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum updateyum install docker-ce docker-ce-cli containerd.iosystemctl enable dockersystemctl start docker

docker kurduktan sonra sırada weave kurma var,

sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch

4040 portundan bağlanılcak bir UI vermiş oluyor. bağlanıp bakalım.

herhangi bir resource olmadığından boş görünecek.

denemek için farklı özelliklerde 2 tane container yaratalım, birinde port expose edelim birinde volume yaratıp mount edelim.

açtığımız containerlar direk giriş ekranında görünüyor ve containerın üzerine tıkladığınızda sağ tarafta detayla açılmakta. weavescope da containerı durdurup yeniden başlatabilirsiniz. tek tuşla containera terminal de açabilirsiniz.

terminal:

sol altta filtreler mevcut mesela durdurulmuş containerları da görebilirsiniz. tekrar çalıştırabilirsiniz.

resource sekmesinden docker hostun ve containerların kullandığı cpu ve mem leri görebilirsiniz.

docker monitor için kullanışlı bir tool.

Weave Scope on KUBERNETES

weavescope u kubernetes clusterımıza declaretive bir şekilde tek yaml file ile kurabiliriz.

öncelikle bir cluster yaratalım ben google cloud GKE kullancağım, minikube ve hardway bir cluster da kullanabilirsiniz.

GKE üzerinde 2 nodelu bir cluster yarattım.

!! eğer siz de GKE kullanıyorsanız bunun için bir role ve rolebinding gerekli aşağıdakini shell de çalıştırabilirsiniz.kubectl create clusterrolebinding "cluster-admin-$(whoami)" --clusterrole=cluster-admin --user="$(gcloud config get-value core/account)"
kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')"

yaml file ı apply edersek bizim için gereksinimleri otomatik olarak weave adlı namespace e kurulmasını sağlayacak.

normalde clusterip olan bir service yaratılıyor.

bunu nodeport yada loadbalancer olarak çevirip erişmeyi sağlayabiliriz ama burada dikkatli olunması gerekiyor dışarı açmış oluyoruz o yüzden FW kurallarının düzgün olduğundan emin olmanız gerekiyor.

“kubectl edit svc weave-scope-app -n weave” diyerek direk service i editleyip ClusterIp kısmını NodePort olarak değiştirdim.

editorden çıktığınız anda kubernetes edited diyerek service i edit edecektir. ve NodeIP si üzerinden artık erişim sağlayabilirsiniz.

arayüze girdiğimizde docker ui si ile benzer bir arayüzle karşılaşıyoruz.

sol alttan görmek istediğimiz namespacedeki podları seçerek istediğimiz podları ve serviceleri görebiliyoruz. üstüne tıkladığımızda docker containerlari gibi özelliklei beliriyor burada controllers sekmesinde deploymentlarımız mevcut scale down ve up yapıp, inspect edebiliyoruz.

çok fazla pod ve deploymenti aynı anda gösterdiğinizde biraz karışıklık oluyor fakat basit sistemler için kullanışlı görünüyor.

siz de deneyip yorumlayabilirsiniz.

h.a.s.

--

--