Можно ли отключить обнаружение службы с переменными окружения в кубернетах?
Как известно, kubernetes поддерживает 2 основных режима поиска переменных среды службы и DNS, можно ли отключить первый способ и выбрать только путь DNS?
Ответы
Ответ 1
Как показано в этом PR, эта функция появится в Kubernetes 1.13. От PR (поскольку документы еще не доступны), я ожидаю, что это будет поле enableServiceLinks
в спецификации модуля со значением true по умолчанию.
Редактировать: Как это было некоторое время, и пиар наконец приземлился. enableServiceLinks
был добавлен в качестве дополнительного логического значения в KuSernetes PodSpec.
Для записи: использование DNS для обнаружения конечных точек службы является рекомендуемым подходом, и поведение docker link
, из которого происходят переменные среды, долгое время устарело
Ответ 2
Согласно kubernetes v1.8 source, невозможно отключить обнаружение служб с помощью переменных среды.
EnvVars предоставляет только услугу, соответствующую какому-либо условию.
- служба в том же пространстве имен, что и модуль;
- Служба
kubernetes
в пространстве имен default
;
Хотя эти переменные окружения могут быть перезаписаны env
и envFrom
, определенных в шаблоне модуля.
Мне интересно, каков ваш сценарий, может быть, мы можем найти какой-то обходной путь.