如果用于引导节点和集群节点的机器使用代理服务器访问互联网,您必须:
- 在集群节点上为软件包管理器配置代理
- 在集群配置文件中配置代理详细信息。
前提条件
您的代理服务器必须允许连接到这些地址:
- *.gcr.io
- cloud.google.com
- www.googleapis.com
- compute.googleapis.com
- storage.googleapis.com
- gkehub.googleapis.com
- oauth2.googleapis.com
- cloudresourcemanager.googleapis.com
- gkeconnect.googleapis.com
- logging.googleapis.com
- monitoring.googleapis.com
- download.docker.com
- dl.fedoraproject.org
除了这些网址之外,代理服务器还必须允许操作系统软件包管理器需要的所有软件包镜像。
在集群节点上为软件包管理器配置代理
Anthos clusters on Bare Metal 使用 Ubuntu 上的 APT 软件包管理器以及 CentOS 和 Red Hat Linux 上的 DNF 软件包管理器。您必须确保操作系统软件包管理器具有正确的代理配置。
如需详细了解如何配置代理,请参阅您的操作系统发行版的文档。以下示例展示了配置代理设置的一种方法:
APT
以下命令演示了如何为 APT 配置代理:
sudo touch /etc/apt/apt.conf.d/proxy.conf
echo 'Acquire::http::Proxy "http://[username:password@]domain";' >> /etc/apt/apt.conf.d/proxy.conf
echo 'Acquire::https::Proxy "http://[username:password@]domain";' >> /etc/apt/apt.conf.d/proxy.conf
将 [username:password@]domain 替换为特定于您的配置的详细信息。
DNF
以下命令演示了如何为 DNF 配置代理:
echo "proxy=http://[username:password@]domain" >> /etc/dnf/dnf.conf
将 [username:password@]domain 替换为特定于您的配置的详细信息。
在集群配置文件中配置代理详细信息
在集群配置文件中,设置以下值以将集群配置为使用代理:
proxy.url
指定代理网址的字符串。引导和节点机器使用此代理访问互联网。
proxy.noProxy
不应通过代理服务器的 IP 地址、主机名和域名的列表。
示例
以下是集群配置文件中代理设置的示例:
proxy:
url: http://[username:password@]domain
noProxy:
- example1.com
- example2.com
替换代理配置
如果您希望引导机器和节点机器位于不同的代理后面,请在引导机器上设置以下环境变量,以替换集群配置文件中的代理设置:
export HTTPS_PROXY=http://[username:password@]domain
将 [username:password@]domain 替换为特定于您的配置的详细信息。
export NO_PROXY=example1.com,example2.com
将 example1.com,example2.com 替换为不应通过代理服务器的 IP 地址、主机名和域名。
副作用
以 root 身份运行时,bmctl
会更新引导机器中的 Docker 代理配置。如果您不以 root 身份运行 bmctl
,请手动配置 Docker 代理。