Version 1.8. This version is no longer supported. For more information, see the version support policy. For information about how to upgrade to version 1.9, see Upgrading Anthos on bare metal in the 1.9 documentation.

Available supported versions: 1.15  |   1.14  |   1.13

Installing behind a proxy

If the machines you are using for bootstrap and cluster nodes use a proxy server to access the internet, you must:

  • Configure proxying for the package manager on cluster nodes
  • Configure proxy details in the cluster configuration file.


Your proxy server must allow connections to the following addresses:

Address Purpose
* Pull images from the Container Registry. Process authorization requests for OpenID and discover public keys for verifying tokens. Resolve metadata regarding the Google Cloud project the cluster is being connected to. Verify Cloud Logging and Cloud Monitoring resource region. Install Extra Packages for Enterprise Linux (EPEL) when using Red Hat Enterprise Linux (RHEL) distributions. Add Docker repository when Docker is used for the container runtime. Establish the channel used to receive requests from Google Cloud and issues responses. Create Google Cloud-side Hub membership resources that correspond to the cluster you're connecting with Google Cloud. Create service accounts, which you can use to authenticate to Google Cloud and make API calls. Provides admission control and telemetry reporting for audit logging. Write log entries and manage your Cloud Logging configuration. Manage your Cloud Monitoring data and configurations. Authenticate through OAuth token exchange for account access. Collect metadata for Kubernetes resources such as pods, deployments, or nodes to enrich metric queries. Retrieve refresh tokens for workload identity authorization. Write audit log entries into Cloud Audit Logs. Enable and validate services and APIs. Manage Google Cloud's operations suite metadata, such as Stackdriver accounts. Manage object storage and buckets, such as Container Registry objects. Exchange Google or third-party credentials for a short-lived access token to Google Cloud resources Authenticate service tokens from incoming Google Cloud service requests.

In addition to these URLs, the proxy server must also allow any package mirrors your operating system's package manager requires.

Configuring proxying for the package manager on cluster nodes

Anthos clusters on bare metal uses the APT package manager on Ubuntu and the DNF package manager on CentOS and Red Hat Linux. Ensure that the OS package manager has the correct proxy configuration.

Refer to your OS distribution's documentation for details about configuring the proxy. The following examples show one way to configure proxy settings:


These commands demonstrate how to configure the proxy for 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

Replace [username:password@]domain with details specific to your configuration.


This command demonstrates how to configure the proxy for DNF:

echo "proxy=http://[username:password@]domain" >> /etc/dnf/dnf.conf

Replace [username:password@]domain with details specific to your configuration.

Configuring proxy details in the cluster configuration file

In the cluster configuration file, set the following values to configure the cluster to use the proxy:


A string that specifies the proxy URL. The bootstrap and node machines use this proxy to access the internet.


A list of IP addresses, hostnames, and domain names that should not go through the proxy server.


The following is an example of the proxy settings in a cluster configuration file:

     url: http://[username:password@]domain

Overriding the proxy configuration

You can run your bootstrap machine behind a different proxy than the one used by your node machines by overriding the proxy settings in the cluster configuration file. To override the proxy settings, set the following environment variables on the bootstrap machine:

export HTTPS_PROXY=http://[username:password@]domain

Replace [username:password@]domain with details specific to your configuration.


Replace, with IP addresses, hostnames, and domain names that should not go through the proxy server.

Side effects

When run as root, bmctl updates the Docker proxy configuration on the bootstrap machine. If you do not run bmctl as root, configure the Docker proxy manually.