На 1.17.2 каждый новый узел имеет InternalIP, равный ExternalIP - PullRequest
0 голосов
/ 29 января 2020

начиная с этого понедельника, после обновления до версии 1.17.2 из Rancher, каждый новый узел (капли DigitalOcean, все с Ubuntu 18.04.3) получает свой InternalIP, неправильно равный ExternalIP, Publi c one! Это, в свою очередь, является моим основным подозреваемым виновником отсутствия внутрикластерного разрешения DNS, которое мы испытываем с понедельника, поскольку я только что обнаружил, что неотвечающие службы лежали на новом узле с InternalIP = ExternalIP.

kubectl describe node exacto-devel-mail-01
...
Addresses:
InternalIP:  37.139.20.177
Hostname:    exacto-devel-mail-01

«Старый» узел (до обновления 1.17.2, поэтому, предположительно, мы работали на 1.16.6):

kubectl describe node exacto-devel-06
...
Addresses:
InternalIP:  10.129.254.119
Hostname:    exacto-devel-06

Я попытался отредактировать узел, назначив правильный InternalIP ценность, но ничего не произошло! Он просто продолжает показывать неправильный адрес!

Эта проблема с ошибкой в ​​разрешении имен кластер-DNS контейнеров, работающих на тех «плохих» узлах с поврежденными InternalIP, появилась в другом кластере после обновления до v1.16.6. Таким образом, я могу сказать, что проблема затрагивает Kubernetes 1.16.6 и 1.17.2, по крайней мере, в управляемых Rancher кластерах k8s.

Чтобы дополнительно прояснить проблему, вот текущий список узлов в моем кластере среды разработки:

kubectl get nodes -o wide
NAME                  STATUS   ROLES               AGE    VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
exacto-devel-01       Ready    controlplane,etcd   11d    v1.17.2   37.139.0.68      <none>        RancherOS v1.5.5     4.14.138-rancher    docker://19.3.5
exacto-devel-02       Ready    controlplane,etcd   11d    v1.17.2   37.139.0.231     <none>        RancherOS v1.5.5     4.14.138-rancher    docker://19.3.5
exacto-devel-03       Ready    controlplane,etcd   11d    v1.17.2   37.139.4.139     <none>        RancherOS v1.5.5     4.14.138-rancher    docker://19.3.5
exacto-devel-04       Ready    worker              11d    v1.17.2   10.129.254.158   <none>        Ubuntu 18.04.3 LTS   4.15.0-74-generic   docker://19.3.5
exacto-devel-05       Ready    worker              11d    v1.17.2   10.129.254.200   <none>        Ubuntu 18.04.3 LTS   4.15.0-74-generic   docker://19.3.5
exacto-devel-06       Ready    worker              10d    v1.17.2   10.129.254.119   <none>        Ubuntu 18.04.3 LTS   4.15.0-74-generic   docker://19.3.2
exacto-devel-elk-01   Ready    worker              25h    v1.17.2   185.14.186.204   <none>        Ubuntu 18.04.4 LTS   4.15.0-76-generic   docker://19.3.5
exacto-devel-elk-02   Ready    worker              7h8m   v1.17.2   198.211.118.87   <none>        Ubuntu 18.04.4 LTS   4.15.0-76-generic   docker://19.3.5

Как видите, эта проблема затрагивает 01,02,03 и elk-01, elk-02: под заголовком столбца «InternalIP» есть четко идентифицируемый Publi c IP! Хотя это, кажется, не имеет значения для узлов 01,02 и 03, так как они получили роль etcd и controlplane, на самом деле она блокирует расширение кластера для добавления новых функций (в данном примере ELK), поскольку любая рабочая нагрузка развернута. на этих новых узлах возникнут проблемы с разрешением DNS внутри кластера.

Пожалуйста, сообщите, что делать дальше! Спасибо

1 Ответ

0 голосов
/ 29 января 2020

Когда вы создаете пользовательский кластер из ранчера, вы можете указать IP-адрес для агента ранчера , и агент зарегистрирует узел с этим IP.

...