HTTP 代理配置
如果你通过代理来操作 Rancher,并想要通过代理访问服务(例如拉取应用商店),你需要提供 Rancher 代理的信息。由于 Rancher 是用 Go 编写的,Rancher 使用如下常见的代理环境变量。
请确保 NO_PROXY 包含不使用代理的网络地址,网络地址范围和域名。
| 环境变量 | 用途 |
|---|---|
| HTTP_PROXY | 发起 HTTP 连接的代理地址 |
| HTTPS_PROXY | 发起 HTTPS 连接的代理地址 |
| NO_PROXY | 发起连接时不使用代理的网络地址,网络地址范围和域名 |
重要提示:
NO_PROXY 必须大写才能使用网络范围 CIDR 表示法。
基于 Docker 安装
你可使用 -e KEY=VALUE 或 --env KEY=VALUE将环境变量传给 Rancher 容器。在 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 访问。此外,在访问 192.168.10.0/24 网络范围以及 example.com 域名下的每个主机名时均不使用代理服务器。
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
特权访问是必须的。
离线代理配置
你现在可以在配置的离线集群中配置主机驱动集群,以使用代理进行出站连接。
除了如上为代理服务器设置默认规则外,你还需要额外添加如下所示的规则,以从代理的 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