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 所需的值為:
localhost127.0.0.10.0.0.010.0.0.0/8cattle-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