ブートストラップに使用するマシンとクラスタノードがプロキシ サーバー経由でインターネットにアクセスしている場合は、次の操作を行う必要があります。
- クラスタノードでパッケージ マネージャー用のプロキシを構成する
- クラスタ構成ファイルにプロキシの詳細を構成する。
前提条件
プロキシ サーバーで、次のアドレスへの接続を許可する必要があります。
- *.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
これらの URL に加えて、プロキシ サーバーは、オペレーティング システムのパッケージ マネージャーが必要とするパッケージのミラーリングも許可する必要があります。
クラスタノードにパッケージ マネージャーのプロキシを構成する
Ubuntu の場合、ベアメタル版 Anthos クラスタは APT パッケージ マネージャーを使用します。CentOS と Red Hat Linux の場合は、DNF パッケージ マネージャーを使用します。OS パッケージ マネージャーのプロキシ構成が正しいことを確認する必要があります。
プロキシ構成の詳細については、OS ディストリビューションのドキュメントをご覧ください。次の例は、プロキシを構成する 1 つの方法を示しています。
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
プロキシ 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 プロキシ構成を更新します。bmctl
を root として実行しない場合は、Docker プロキシを手動で構成します。