Last week, while going through some of the Kubernetes manifest files, I stumbled upon this label:

kubernetes.io/cluster-service: “true”

I searched about this in Documentation but could not find much information, so I thought of writing a small blog post about it.

https://surajincloud.gumroad.com/l/own-kubectl-command

When you add this label to any resource of type Kind: Service , it means it is part of cluster service, and the user needs to know when they are looking for cluster information. Hence it appears in the following command:

kubectl cluster-info

By default, this command shows:

$ kubectl cluster-info
Kubernetes master is running at https://kubernetes.docker.internal:6443
KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyTo further debug and diagnose cluster problems, use ‘kubectl cluster-info dump’.

Now, we will deploy a sample Nginx deployment and will try to add this to cluster info:

kubectl run nginx --image=nginx -n kube-system
kubectl expose deployment nginx --port 80 -n kube-system \
--labels kubernetes.io/cluster-service=true

Now you can see nginx service in kubectl cluster-info output,

$ kubectl cluster-info
Kubernetes master is running at https://kubernetes.docker.internal:6443
KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
nginx is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/nginx/proxy

Note: This will work only for services in ***kube-system*** namespace.

You can check out the video tutorial for the same here:

I hope you learned something new from this blog post. Click here to learn about me and how you can support my work, Thank you.