Включение NodeLocalDNS завершается неудачно - PullRequest
0 голосов
/ 07 апреля 2020

У нас есть 2 кластера на GKE : dev и production. Я попытался выполнить эту команду на dev кластере:

gcloud beta container clusters update "dev" --update-addons=NodeLocalDNS=ENABLED 

И все прошло отлично, узлы node-local-dns работают и все работает, на следующее утро я решил запустить ту же команду на production cluster и node-local-dns не запускаются, и я заметил, что и PILLAR__LOCAL__DNS и PILLAR__DNS__SERVER в yaml не изменены на надлежащие IP-адреса, я попытался изменить эти переменные в конфигурации yaml , но GKE продолжает перезаписывать их обратно в yaml с помощью PILLAR__DNS__SERVER переменных ...

Единственная разница между кластерами заключается в том, что dev работает на 1.15.9-gke.24 и производство 1.15.11-gke.1.

1 Ответ

0 голосов
/ 08 апреля 2020

По-видимому, в версии 1.15.11-gke.1 есть ошибка.

Сначала я воссоздал ее на 1.15.11-gke.1 и могу подтвердить, что node-local-dns Pods перейдет в состояние CrashLoopBackOff:

node-local-dns-28xxt                                        0/1     CrashLoopBackOff   5          5m9s
node-local-dns-msn9s                                        0/1     CrashLoopBackOff   6          8m17s
node-local-dns-z2jlz                                        0/1     CrashLoopBackOff   6          10m

Когда я проверил журналы:

$ kubectl logs -n kube-system node-local-dns-msn9s
2020/04/07 21:01:52 [FATAL] Error parsing flags - Invalid localip specified - "__PILLAR__LOCAL__DNS__", Exiting

Решение:

Обновление до 1.15.11-gke.3 помогло. Сначала необходимо обновить свой мастер-узел , а затем ваш пул узлов . Похоже, что в этой версии все работает хорошо и без сбоев:

$ kubectl get daemonsets -n kube-system node-local-dns 
NAME             DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                               AGE
node-local-dns   3         3         3       3            3           addon.gke.io/node-local-dns-ds-ready=true   44m

$ kubectl get pods -n kube-system -l k8s-app=node-local-dns
NAME                   READY   STATUS    RESTARTS   AGE
node-local-dns-8pjr5   1/1     Running   0          11m
node-local-dns-tmx75   1/1     Running   0          19m
node-local-dns-zcjzt   1/1     Running   0          19m

Что касается ручного исправления этого конкретного файла yaml daemonset, я бы не рекомендовал его, поскольку вы можете быть уверены, что * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * [10].

перезаписывают функции автоматического обновления и в GKE .
...