Поделиться через


Настройка CycleCloud для использования прокси-сервера HTTP

Azure CycleCloud можно настроить для использования прокси-сервера для всего трафика, привязанного к Интернету, и (или) HTTPS. Как правило, это полезно, если прямой доступ к Интернету не разрешен или в целях мониторинга трафика.

Настройка прокси-сервера

Чтобы включить прокси-серверы, войдите в графический интерфейс CycleCloud и перейдите на вкладку "Параметры" на левой панели, затем дважды щелкните на строку HTTP(s)-прокси. In the configuration dialog that pops up, verify that Enabled is checked and enter the proxy details in the form.

окно параметров прокси-сервера

Изменения параметров прокси-сервера не вступают в силу до тех пор, пока не будет перезапущено. Чтобы перезапустить CycleCloud, выполните следующую команду:

/opt/cycle_server/cycle_server restart --wait

Добавление конечной точки хранилища для доступа к BLOB-объектам

CycleCloud требует доступа к контейнеру BLOB-хранилища в вашей подписке, чтобы кэшировать файлы установки для узлов. При работе с прокси-сервером или в заблокированной сети необходимо настроить конечную точку службы виртуальной сети или частную конечную точку в службу хранилища. Это приведет к маршрутизации запросов к контейнеру хранилища через магистральную сеть Azure, а не через URL-адреса общедоступного управления.

Подсказка

При настройке конечной точки службы для доступа к службе хранилища Azure в сочетании с прокси-сервером HTTPS для исходящего трафика API Azure, можно настроить CycleCloud так, чтобы он обходил использование прокси-сервера и отправлял запросы хранилища непосредственно через конечную точку службы.

Чтобы отключить использование прокси для доступа к учетной записи хранилища, добавьте: -Dhttp.nonProxyHosts="*.core.windows.net" to the webServerJvmOptions= property in the: /opt/cycle_server/config/cycle_server.properties file and then restart CycleCloud.

Экспорт HTTPS_PROXY перед запуском установщика CLI CycleCloud

Установщик CycleCloud CLI требует исходящего доступа для установки пакетов через pip. Перед запуском скрипта установки обязательно установите переменную среды HTTPS_PROXY, чтобы указать прокси-сервер и порт:

export HTTPS_PROXY=myserver:8080

Экспорт параметров прокси-сервера на узлах

Если узлы, запущенные CycleCloud, также должны направлять трафик через прокси-сервер, рекомендуется использовать cloud-init, чтобы настроить параметры прокси-сервера по мере необходимости. Рассмотрим пример.

[node scheduler]
CloudInit = '''#cloud-config
write_files:
- path: /etc/profile.d/proxy.sh
  owner: root:root
  permissions: '0644'
  content: |
    export http_proxy=10.12.0.5:3128
    export https_proxy=10.12.0.5:3128
    export no_proxy=127.0.0.1,169.254.169.254  # special rule exempting Azure metadata URL from proxy
- path: /etc/systemd/system/jetpackd.service.d/env.conf
  owner: root:root
  permissions: '0644'
  content: |
    [Service]
    Environment="http_proxy=10.12.0.5:3128"
    Environment="https_proxy=10.12.0.5:3128"
    Environment="no_proxy=127.0.0.1,169.254.169.254"
'''