如何从Kubernetes的工作节点中找到主节点

AAT*_*RAN 2 kubernetes kubernetes-cluster

我需要知道当前的工作节点连接到哪个主节点。我可以通过在主节点中键入“ kubectl get nodes”命令来查看工作节点,但是我需要从工作节点本身中查找主节点。

简而言之,如何从kubernetes集群的工作节点中找到主节点?

Ade*_*lin 8

在 GCP 中创建集群然后使用以下命令连接到该集群时

gcloud container clusters get-credentials kafka-and-zookeepr --zone us-central1-a --project {YOUR_PROJECT_NAME} 
Run Code Online (Sandbox Code Playgroud)

你可以发出

kubectl cluster-info   
Run Code Online (Sandbox Code Playgroud)

这将返回

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
Run Code Online (Sandbox Code Playgroud)

注意:我在本地计算机上安装了 docker


Ric*_*ico 5

通常,您可以在kubelet配置文件中找到它:/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
Run Code Online (Sandbox Code Playgroud)

如果您有类似的东西yq,可以这样获得:

yq .clusters[0].cluster.server /etc/kubernetes/kubelet.conf | tr -d "\n\""
Run Code Online (Sandbox Code Playgroud)