プロキシの背後でインストールする

ブートストラップに使用するマシンとクラスタノードがプロキシ サーバー経由でインターネットにアクセスしている場合は、次の操作を行う必要があります。

  • クラスタノードでパッケージ マネージャー用のプロキシを構成する
  • クラスタ構成ファイルにプロキシの詳細を構成する。

前提条件

プロキシ サーバーで、次のアドレスへの接続を許可する必要があります。

  • *.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 プロキシを手動で構成します