Команда на узле 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.

Похожие статьи