首页 > 解决方案 > 我在哪个实例中,是大师,然后是哪个大师?

问题描述

我可以通过公网IP登录工作终端,列出所有的nodesby

kubectl get nodes # only gives me internal IPs

并且还可以通过以下方式查看基本信息

kubectl cluster-info

以及当前实例的基本 IP 信息:

ifconfig # but this gives me public IP not internal

问题是我不知道如何确定我当前所在的节点master:a ?哪个主人(有几个主人)或只是一个奴隶?那么哪个奴隶?

谢谢您的帮助 ;)

标签: kubernetes

解决方案


其中一些命令可能会根据您的 Kubernetes 集群显示不同的输出,我在这里展示了来自 GKE 的示例。

您可以使用-owideoption 获取一些附加信息:

$kubectl get nodes -owide
NAME                           STATUS    ROLES     AGE       VERSION        EXTERNAL-IP      OS-IMAGE            KERNEL-VERSION   CONTAINER-RUNTIME
gke-test-pool2-772ceaec-0tzf   Ready     <none>    23h       v1.9.7-gke.5   35.200.255.186   Container-Optimized OS from Google   4.4.111+         docker://17.3.2
gke-test-pool2-772ceaec-1722   Ready     <none>    20h       v1.9.7-gke.5   35.200.152.18    Container-Optimized OS from Google   4.4.111+         docker://17.3.2

从上面的输出中,您可以使用:

  • 外部 IP - 节点的 IP 地址(可能因您的设置而异)
  • 角色 - 在这种情况下是空的,表示从属节点,因为主节点没有在 GKE 中列出。

此外,您可以使用标签来获取更多信息:

$ kubectl get --show-labels nodes
NAME                           STATUS    ROLES     AGE       VERSION        LABELS
gke-test-pool2-772ceaec-0tzf   Ready     <none>    23h       v1.9.7-gke.5   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/instance-type=n1-standard-1,beta.kubernetes.io/os=linux,cloud.google.com/gke-nodepool=pool2,cloud.google.com/gke-preemptible=true,failure-domain.beta.kubernetes.io/region=asia-south1,failure-domain.beta.kubernetes.io/zone=asia-south1-b,kubernetes.io/hostname=gke-test-pool2-772ceaec-0tzf
gke-test-pool2-772ceaec-1722   Ready     <none>    20h       v1.9.7-gke.5   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/instance-type=n1-standard-1,beta.kubernetes.io/os=linux,cloud.google.com/gke-nodepool=pool2,cloud.google.com/gke-preemptible=true,failure-domain.beta.kubernetes.io/region=asia-south1,failure-domain.beta.kubernetes.io/zone=asia-south1-b,kubernetes.io/hostname=gke-test-pool2-772ceaec-1722

从此输出中,您可以:

  • 标签中的节点池告诉我它是 pool2 工作/从属池的一部分
  • 根据您的设置,标签中的主机名可能会有所帮助。

您可以将上述信息与ifconfig您的节点的 IP 相匹配。最后 - 您登录的终端不必是集群中的节点之一。

最后,它很可能是一个在集群外部Kubeconfigkubectl配置的节点。


推荐阅读