跳至主要内容

HTTP Proxy 設定

如果你在 Proxy 後面操作 Rancher,並且想要透過 Proxy 存取服務(例如檢索目錄),你必須向 Rancher 提供有關你的 Proxy 的資訊。由於 Rancher 是用 Go 編寫的,它使用如下所示的常見 Proxy 環境變數。

確保 NO_PROXY 包含應該排除使用 Proxy 的網路位址、網路位址範圍和網域。

環境變數用途
HTTP_PROXY啟動 HTTP 連線時要使用的 Proxy 位址
HTTPS_PROXY啟動 HTTPS 連線時要使用的 Proxy 位址
NO_PROXY啟動連線時要排除使用 Proxy 的網路位址、網路位址範圍和網域。

該值必須是包含 IP 位址、CIDR 表示法、網域名稱或特殊 DNS 標籤(*)的逗號分隔字串。有關預期值格式的完整說明,請參閱 上游 Golang 文件
重要:

NO_PROXY 必須使用大寫才能使用網路範圍(CIDR)表示法。

Docker 安裝​

將環境變數傳遞給 Rancher 容器可以使用 -e KEY=VALUE 或 --env KEY=VALUE。在 Docker 安裝中,NO_PROXY 所需的值為:

  • localhost
  • 127.0.0.1
  • 0.0.0.0
  • 10.0.0.0/8
  • cattle-system.svc
  • .svc
  • .cluster.local

以下範例基於可在 http://192.168.0.1:3128 存取的 Proxy 伺服器,並在存取網路範圍 192.168.10.0/24 和網域 example.com 下的每個主機名稱時排除使用 Proxy。

docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-e HTTP_PROXY="http://192.168.10.1:3128" \
-e HTTPS_PROXY="http://192.168.10.1:3128" \
-e NO_PROXY="localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,cattle-system.svc,192.168.10.0/24,.svc,.cluster.local,example.com" \
--privileged \
rancher/rancher:latest

需要特權存取。參見此處。

離線環境 Proxy 設定​

你現在可以從設定為使用 Proxy 進行出站連線的離線叢集中佈建節點驅動叢集。

除了如上所示設定 Proxy 伺服器的預設規則外,你還必須新增以下規則才能從代理的 Rancher 環境中佈建節點驅動叢集:

你將根據你的設定配置檔案路徑,例如 /etc/apt/apt.conf.d/proxy.conf:

acl SSL_ports port 22
acl SSL_ports port 2376

acl Safe_ports port 22 # ssh
acl Safe_ports port 2376 # docker port