Как установить no_proxy в стручках Kubernetes - PullRequest
0 голосов
/ 12 сентября 2018

Поскольку мой кластер Kubernetes находится за корпоративным прокси-сервером, мне нужно установить http / https прокси в пакетах через переменные среды и установить no_proxy, чтобы разрешить межпод и межсервисный обмен данными и связь с другими локальными частными серверами.

Конфигурация прокси http / https отлично работала при передаче в модули через переменные env; но no_proxy не работает хорошо, и это нарушает внутреннюю связь pod / service.

Я безуспешно пытался установить no_proxy и NO_PROXY на разных уровнях в Kubernetes, в основном на:

  • Демон Docker: /etc/systemd/system/docker.service.d/http-proxy.conf
  • Клиент Docker: /root/.docker/config.json (хотя это не представляется возможным при использовании Docker v1.13.1 в CentOS)
  • Клиент Docker: через переменные среды, передаваемые модулям во время создания, в файле yaml, который используется для запуска их с помощью kubectl
  • Главный и рабочий узлы Kubernetes как переменные среды
  • и множество комбинаций вышеуказанных настроек

Конфигурация прокси в POD успешно выполнена с переменными env внутри POD:

export http_proxy = "http://10.16.1.1:8080"
export https_proxy = "https://10.16.1.1:8080"

Но ничего из вышеперечисленного не сработало для исключений no_proxy, и я попробовал много синтаксиса, а также добавил свои узлы, сети pod & service и .svc (как это предлагается для OpenShift) ... как указано ниже:

export no_proxy = ". Svc, .example.com"
export no_proxy = "localhost, 127.0.0.0 / 8,10.1.16.0 / 24,10.240.0.0 / 16,10.241.0.0 / 16, *. domain.com"
export no_proxy = ". svc, .default, .local, .cluster.local, localhost, 127.0.0.0 / 8,10.1.16.0 / 24,10.240.0.0 / 16,10.241.0.0 / 16, .domain.com"
экспорт NO_PROXY = $ no_proxy

Я использую Kubernetes v1.11.2 + Docker v1.13.1 на CentOS7;
Любая помощь будет оценена.

1 Ответ

0 голосов
/ 04 октября 2018

Я более внимательно посмотрел на этот случай, и оказалось, что проблема здесь заключается в переменных среды.Переменная no_proxy не поддерживает сетевые диапазоны.

Таким образом, теоретически вы можете использовать некоторые сценарии инициализации, чтобы исключить необходимые сети.Тем не менее, это будет действительно сложно, так как там может быть много адресов, которые нужно вставить.
К сожалению, у меня нет такого опыта работы с сетями, поэтому я не могу помочь вам намного больше о том, как обойти это.Вы можете найти больше информации о прокси здесь .Вы можете прочитать больше об этом в этом случае. Установить диапазон сети в переменной среды no_proxy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...