В каком экземпляре я нахожусь, мастер, какой мастер? - PullRequest
0 голосов
/ 27 августа 2018

Я могу войти в рабочий терминал через общедоступный IP-адрес и перечислить все nodes по

kubectl get nodes # only gives me internal IPs

, а также иметь возможность проверить основную информацию по

kubectl cluster-info

и базовая IP-информация для текущего экземпляра:

ifconfig # but this gives me public IP not internal

Проблема в том, что я не знаю, как определить , какой узел Я нахожусь в настоящее время:master?какой хозяин (есть несколько мастеров) или просто раб?тогда какой раб?

Спасибо за помощь;)

1 Ответ

0 голосов
/ 27 августа 2018

Некоторые из этих команд могут отображать различный вывод в зависимости от вашего кластера Kubernetes, здесь я показываю примеры из GKE.

Вы можете использовать опцию -owide для получения дополнительной информации:

$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 вашего узла.Наконец, не обязательно, чтобы терминал, в который вы вошли, был одним из узлов в кластере.

Наконец, вполне может быть узел, находящийся вне кластера с настроенными Kubeconfig и kubectl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...