Сбой при обнаружении службы Kubernetes с использованием DNS - PullRequest
0 голосов
/ 29 мая 2019

Я хочу понять, как /etc/resolve.conf настроен для каждого модуля набора реплики для информации о DNS-сервере, потому что я обновил кластер с 1.13 до 1.14, и он каким-то образом изменил IP-адрес DNS-сервера kube и существующий набор replicaSetвводит старый IP / информацию в /etc/resolve.conf новых модулей этого набора репликации, нарушая обнаружение службы для этих конкретных модулей.

Даже если это не обновление кластера, а просто повторное развертывание kube-dns, и он меняет свой IP-адрес, а затем поведение существующих replicaSet или statefulSets при добавлении / увеличении количества модулей.На моей стороне в настоящее время вводится старая информация.

Новые развертывания работают нормально.

1 Ответ

1 голос
/ 15 июля 2019

Модули всегда наследуют спецификацию от объекта-владельца , в данном случае от ReplicaSet.

Каждый ReplicaSet имеет шаблон pod , который содержит зарегистрированную конфигурацию resolv.conf и не изменится, пока не будет развернут новый Deployment (так как RS являются зависимыми объекта Deployment):

kubectl get rs YOUR_REPLICASET -o yaml | grep pod-template-hash -m 1

В этом случае вы можете либо развернуть новую версию Deployment, либо повторно развернуть определение kube-dns / coreDNS 'YAML, сохранив исходное clusterIP:

spec:
  clusterIP: 10.11.0.12 # Old service address
...