I need to know to which master node my current worker node is connected. I can see the worker nodes by typing "kubectl get nodes" command in the master node, but I need to find the master node from the worker node itself.
In simple words, How to find the master node from the worker node in the kubernetes cluster?
You can usually find it on your kubelet
config file: /etc/kubernetes/kubelet.conf
$ cat /etc/kubernetes/kubelet.conf
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: REDACTED
server: https://1.1.1.1:6443 <== here
name: default-cluster
contexts:
- context:
cluster: default-cluster
namespace: default
user: default-auth
name: default-context
current-context: default-context
kind: Config
preferences: {}
users:
- name: default-auth
user:
client-certificate: /var/lib/kubelet/pki/kubelet-client-current.pem
client-key: /var/lib/kubelet/pki/kubelet-client-current.pem
If you have something like yq
you can get it like this:
yq .clusters[0].cluster.server /etc/kubernetes/kubelet.conf | tr -d "\n\""
When creating a cluster in GCP and then connect to that cluster with
gcloud container clusters get-credentials kafka-and-zookeepr --zone us-central1-a --project {YOUR_PROJECT_NAME}
you can issue
kubectl cluster-info
This will return
Kubernetes master is running at https://xxx.xxx.xxx.xxx
GLBCDefaultBackend is running at https://xxx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy
Heapster is running at https://xxx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/heapster/proxy
KubeDNS is running at https://xxx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://xxx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy
NOTE: I have docker installed on my local machine
you may netstat -natp |grep kubelet to find the port also.
来源:https://stackoverflow.com/questions/52941015/how-to-find-master-node-from-worker-node-in-kubernetes