Installing Weave Scope into Kubernetes
Table of Contents
In a previous post I installed a k8s cluster using kubeadm.
Now I would like to add the Weave Scope application to the cluster so that I can visualize what is going on. I should note that I first saw Scope used in a presentation regarding OpenStack Helm. (Yeah, that’s right, using k8s to manage the OpenStack control plane.)
Weave Scope allows you to:
See your Docker hosts, containers and services in real time. Easily identify and correct issues to ensure the stability and performance of your containerized applications.
Installation
Basically it’s just a matter of getting the command correct. There are official docs on how to install Weave Scope.
$ kubectl --kubeconfig ./admin.conf apply --namespace kube-system -f "https://cloud.weave.works/k8s/scope.yaml?k8s-service-type=NodePort&k8s-version=$(kubectl --kubeconfig ./admin.conf version | base64 | tr -d '\n')"
Note that I added the k8s-service-type=NodePort
.
After a few seconds we can validate the deployment:
root@k8s-1:/etc/kubernetes# kubectl --kubeconfig ./admin.conf -n kube-system get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns 10.96.0.10 <none> 53/UDP,53/TCP 2h
weave-scope-app 10.111.34.232 <nodes> 80:31863/TCP 1h
Above we can see what port it’s on, in this case 31863
. Note that I’m not exporting this service in any fashion right now, to use Scope I’m connecting my browser directly to node:31863.
sock-shop
In the previous post I deployed sock-shop
.
Here’s a view from Weave Scope of the sock-shop
namespace.
More Images
There are all kinds of handy tools.
The Internet.
Processes.
I’m leaving a lot out.
Conclusion
I usually don’t reach for visualization tools, but with k8s it was helpful to get a picture of what’s going on. Plus, it’s so simple to install. I really like how services like this are installed into the kube-system namespace, a form of self-hosting. It’s a great model.