Если вы использовали helm install
для установки ingress-nginx, если не было передано явное значение, для которого ConfigMap должен смотреть контроллер nginx, значение по умолчанию выглядит так: {namespace} / {release-name} -nginx-ingress-контроллер.Это генерируется https://github.com/helm/charts/blob/1e074fc79d0f2ee085ea75bf9bacca9115633fa9/stable/nginx-ingress/templates/controller-deployment.yaml#L67. (см. Аналогично, если это неработающая ссылка).
Чтобы убедиться в этом, попробуйте найти команду, с которой вы установили диаграмму ingress-nginx, и добавьте * 1006.* в команду.Это покажет вам файлы yaml, сгенерированные Tiller для применения в кластере.Строка # Source: nginx-ingress/templates/controller-deployment.yaml
начинает развертывание контроллера с arg
, равным --configmap=
.Значение этого arg
- это то, что должно быть именем ConfigMap, чтобы контроллер мог его распознать и использовать для обновления своего собственного .conf
файла.Это может быть передано явно, но если это не так, у него будет значение по умолчанию.
Если ConfigMap создается с ПРАВЫМ именем, журналы контроллера будут показывать, что он принял изменение конфигурации и перезагрузил сам.
Это можно проверить с помощью kubectl logs <pod-name-of-controller> -n <namespace-arg-if-not-in-default-namespace>
.Мои сообщения журнала содержали текст Configuration changes detected, backend reload required.
Эти сообщения журнала не будут присутствовать, если имя ConfigMap было неверным.
Я считаю, что официальная документация для этого излишне отсутствует, но, возможно, я ошибаюсь?Я постараюсь представить PR с этими деталями.Кто-то, кто знает больше, должен помочь им разобраться, чтобы людям не приходилось сталкиваться с этим без необходимости.
Приветствия, спасибо за ваш пост.