Настройка переменных окружения прокси в Pod Kubernetes
Разместите поддерживаемые переменные HTTP-прокси в спецификации контейнера Kubernetes и храните прямые маршруты кластера отдельно от конфигурации загрузки образов.
Команда на узле Kubernetes может использовать прокси оболочки, тогда как Pod на этом узле не имеет окружения прокси. Окружение контейнера определяется его образом и конфигурацией Pod.
Для приложения, поддерживающего эти переменные, добавьте список env в существующую запись контейнера:
env:
- name: HTTP_PROXY
value: http://proxy.example:8080
- name: HTTPS_PROXY
value: http://proxy.example:8080
- name: NO_PROXY
value: localhost,127.0.0.1,kubernetes.default.svc,.svc,.cluster.local
В Deployment это размещается под соответствующим контейнером в spec.template.spec.containers. Обновите рабочую нагрузку через её обычное развёртывание, чтобы новые Pods получили это. Укажите также имена строчными буквами, если этого требует фактический клиент.
Список обхода — это начальный пример, а не перечень каждого маршрута кластера. Используйте реальный суффикс DNS кластера и внутренние назначения. Приложениям, использующим IP-адреса сервисов, могут понадобиться фактические диапазоны сервисов в синтаксисе, поддерживаемом их клиентом.
У init-контейнеров есть собственные спецификации контейнеров. Добавьте туда нужную конфигурацию, когда они выполняют внешнюю загрузку. Для публичных HTTP-загрузок конечная точка из списка HTTP-прокси является кандидатом для этих значений окружения контейнера.
Загрузка образов происходит до запуска приложения и выполняется средой выполнения контейнеров узла. Окружение Pod не может настроить это более раннее соединение с реестром.
Наконец, переменные HTTP-прокси влияют только на клиентов, которые их используют. Они не перенаправляют произвольный трафик баз данных, UDP или других сокетов из Pod.