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

8

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

简单来说,在Kubernetes集群中如何从工作节点找到主节点?

5个回答

9
通常情况下,您可以在/etc/kubernetes/kubelet.conf配置文件中找到它。该文件通常包含与kubelet相关的信息。
$ 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

如果您有类似于yq的东西,可以按如下方式获取:

yq .clusters[0].cluster.server /etc/kubernetes/kubelet.conf | tr -d "\n\""

它起作用了,我能够找到主节点的IP。但是我在某个地方看到了一条评论,显示了类似于这样的内容:“节点IP:工作节点的IP(类似于URL地址)运行在主节点的IP上”。 - AATHITH RAJENDRAN
在 GCP 集群上,kubelet 文件位于 /var/lib/kubelet/kubeconfig。我通过检查 /etc/default/kubelet 找到了它。 - Alex

8
在GCP中创建群集,然后使用以下命令连接到该群集:
gcloud container clusters get-credentials kafka-and-zookeepr --zone us-central1-a --project {YOUR_PROJECT_NAME} 

你可以发出指令。
kubectl cluster-info   

这将返回
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

注意:我已经在本地机器上安装了Docker。

0

类型

kubectl get nodes -o wide

并检查ROLES选项卡


-2
执行命令 cat /etc/hosts,它将返回主节点的IP地址。

-2
你可以使用 netstat -natp |grep kubelet 命令来查找端口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接