How to list admin-cluster nodes with the name of the user-cluster name

81 views Asked by At

When listing the nodes of the GKE admin-cluster, I get the name of the node with hostname taken from from the ipBlock, which is a useless name:

kubectl get nodes
NAME            STATUS   ROLES                  AGE     VERSION
vm-kube-adm001   Ready    control-plane,master   14d     v1.23.5-gke.1504
vm-kube-adm002   Ready    <none>                 14d     v1.23.5-gke.1504
vm-kube-adm003   Ready    <none>                 14d     v1.23.5-gke.1504
vm-kube-adm004   Ready    <none>                 7d17h   v1.23.5-gke.1504
vm-kube-adm005   Ready    <none>                 7d17h   v1.23.5-gke.1504
vm-kube-adm006   Ready    <none>                 7d17h   v1.23.5-gke.1504
vm-kube-adm007   Ready    <none>                 6d23h   v1.23.5-gke.1504
vm-kube-adm008   Ready    <none>                 6d23h   v1.23.5-gke.1504
vm-kube-adm009   Ready    <none>                 6d23h   v1.23.5-gke.1504

How can I show the kubernetes user-cluster that is managed by each node ?

1

There are 1 answers

0
Franklin Piat On

The node have some useful labels attached to them, especially kubernetes.googleapis.com/cluster-name:

apiVersion: v1
kind: Node
metadata:
  labels:
    kubernetes.googleapis.com/cluster-name: kluster1
    kubernetes.io/arch: amd64
    kubernetes.io/hostname: vm-kube-adm006
    kubernetes.io/os: linux
  name: vm-kube-admadm006

So you can use get nodes -L kubernetes.googleapis.com/cluster-name,onprem.gke.io/lbnode:

NAME             STATUS   ROLES                  AGE     VERSION            CLUSTER-NAME   LBNODE
vm-kube-adm001   Ready    control-plane,master   14d     v1.23.5-gke.1504                  true
vm-kube-adm002   Ready    <none>                 14d     v1.23.5-gke.1504                  true
vm-kube-adm003   Ready    <none>                 14d     v1.23.5-gke.1504                  true
vm-kube-adm004   Ready    <none>                 7d17h   v1.23.5-gke.1504   kluster1
vm-kube-adm005   Ready    <none>                 7d17h   v1.23.5-gke.1504   kluster1
vm-kube-adm006   Ready    <none>                 7d17h   v1.23.5-gke.1504   kluster1
vm-kube-adm007   Ready    <none>                 6d23h   v1.23.5-gke.1504   kluster2
vm-kube-adm008   Ready    <none>                 6d23h   v1.23.5-gke.1504   kluster2
vm-kube-adm009   Ready    <none>                 6d23h   v1.23.5-gke.1504   kluster2

You can also use the kubectl -o custom-columns= syntax, make sure to escape the dots.

kubectl get nodes  -o "custom-columns=NAME:.metadata.name,CLUSTER:.metadata.labels.kubernetes\.googleapis\.com/cluster-name"