切断モードのインフラストラクチャで動作する Anthos をインストールする

このページは、インフラストラクチャ オペレーターを対象としています。

切断モードで動作する Anthos は、エアギャップ環境でインターネットから完全に分離されたバージョンの Anthos です。切断モードで Anthos を実行すれば、オンプレミスで高度に規制されたワークロードを実行し、クラウド ネイティブ インフラストラクチャの多くの利点も引き続き享受できます。

はじめに

切断モードで実行される Anthos のアーキテクチャは、ベアメタル版 Anthos の接続バージョンのアーキテクチャに似ています。ユーザークラスタを作成・管理するための管理クラスタがあります。ワークロードはユーザー クラスタで実行します。また、管理ワークステーションは、切断モードで動作する Anthos のインストールと管理に必要なツールを含む 1 台のマシンです。

ベアメタル版 Anthos の接続バージョンと異なり、切断モードで動作する Anthos には 3 つの追加コンポーネントがあります。

  • オプションのコンテナ レジストリ。管理ワークステーションで実行され、Anthos コンテナ イメージがすべて格納されます。Container Registry にアクセスできない場合に必要になります。
  • actl コマンドライン ツール。切断モードで動作する Anthos のインストールや他の管理タスクの実行に役立ちます。
  • 承認と認証、オブザーバビリティ、マルチクラスタ Anthos 機能の管理を支援する Anthos Management Center。Management Center には、管理クラスタで実行されるウェブベースの Console が含まれます。Management Center Console のユーザー インターフェースを使用すると、Anthos のデプロイを構成するすべてのリソース(マシン、アドレスプール、ユーザー クラスタなど)を管理できます。Management Center Console を使用して Anthos 機能を管理し、ワークロードをモニタリングすることもできます。

Anthos のアーキテクチャを説明する図

図: Anthos のアーキテクチャ図。

環境の準備

プロダクト リリースへのアクセス権の取得、最新バージョンのダウンロード、依存関係のインストールを行います。

始める前に

このページで説明する手順を行う前に、切断モードで動作する Anthos の技術的な要件が満たされていることを確認してください。

切断モードで動作する Anthos にアクセスする

Google は、切断モードで動作する Anthos のリリースへのアクセス権を付与する必要があります。Google の担当者に各テスターのメールアドレスをご指定いただければ、ダウンロード リポジトリへのアクセス権をテスター各々に付与いたします。メールアドレスは Google アカウントである必要があります。

切断モードで動作する Anthos にアクセスできることを Google の担当者が確認したら、次のコマンドを実行して、切断モードで動作する Anthos のリリースをダウンロードする権限があることを確認します。

gsutil ls gs://anthos-private-mode-release/

エラーが表示された場合は、gcloud auth list コマンドを実行して、Google の担当者に提供したものと同じ Google アカウントが gsutil で使用されていることを確認します。

または、正しく権限が付与されていることは、最新のリリース バケットにアクセスして確認することもできます。その際のログインは、前に指定した Google アカウントで行う必要があります。

切断モードで動作する Anthos のリリースへのアクセスに問題がある場合は、Google の担当者にお問い合わせください。

切断モードで動作する Anthos をダウンロードする

このセクションでは、切断モードで動作する Anthos をダウンロードします。Anthos リリースは、それぞれ数ギガバイトの複数のファイルに格納されます。ご使用のインターネット接続によっては、ダウンロードに長い時間がかかることがあります。

切断モードで動作する Anthos をダウンロードする

管理ワークステーションで、次のコマンドを実行します。

# Login with the account granted access to Anthos running in disconnected mode
gcloud auth login

# Download the script which helps download all the latest components
export VERSION=1.12.0-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=53275103489dd7569a321da5f70d78cad00a9e3b6a550202200ede37d51d4d3e
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER

# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS

残りの依存関係をインストールする

切断モードで動作する Anthos のダウンロードが完了したら、次のコマンドを実行します。

cd anthos-baremetal-private-mode

# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH

# Download Harbor offline installer
curl -SL \
  https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
  --output "local-registry/harbor-offline-installer.tgz"

# Install docker-compose
curl -SL \
  https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
  --output "local-registry/docker-compose"

この 2 つの手順は、インターネット接続が必要な唯一のプロセスです。 インターネットから完全に隔離された環境に切断モードで動作する Anthos をインストールする場合は、次のいずれかの方法を使用します。

  • まず、管理ワークステーションをインターネットに接続し、前述のリリースをダウンロードします。次に、ワークステーションをインターネットから切断し、完全に隔離された環境に接続します。
  • インターネットに接続されたデベロッパー ワークステーションからリリースをダウンロードし、ポータブル ストレージ デバイスにコピーして、このポータブル ストレージ デバイスを隔離された管理ワークステーションにつなぎ替えます。

切断モードで動作する Anthos リリースの内容を確認できます。

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • local-registry ディレクトリには、ローカルのコンテナ レジストリを設定するためのリソースが含まれています。
  • managementcenterservicesbaremetal など、他のディレクトリには、管理クラスタと Anthos Management Center をインストールするために必要なものがすべて含まれています。

(省略可)actl シェルのオートコンプリートを有効にする

actl コマンドライン ツールは、Bash、Zsh、Fish のシェル オート コンプリートをサポートしています。Ubuntu / Debian の bash などで、actl help completion の手順に沿ってシェルでオートコンプリートを設定します。

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

コンテナ レジストリを設定する

切断モードで動作する Anthos は、Anthos コンテナ イメージをローカルのコンテナ レジストリに格納することによって機能します。 独自のコンテナ レジストリを使用することも、切断モードで動作する Anthos にバンドルされた Container Registry を使用することもできます。

次の環境変数をエクスポートします。

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library

以下を置き換えます。

  • REGISTRY_HOST は、レジストリ IP アドレスです。管理ワークステーションで、切断モードで動作する Anthos のコンテナ レジストリをインストールして使用する場合は、ここで管理ワークステーションの IP アドレスを使用します。

  • REGISTRY_PASSWORD は、レジストリ パスワードに設定した値です。

独自のコンテナ レジストリを使用する場合は、コンテナ レジストリへのイメージのアップロード セクションの手順に進んでください。

切断モードのコンテナ レジストリで動作する Anthos を設定する

このセクションでは、管理ワークステーションに非公開のコンテナ レジストリを設定します。管理ワークステーションから、次のコマンドをすべて実行します。

  1. 独自のプライベート コンテナ レジストリがない場合は、切断モードで動作する Anthos のコンテナ レジストリをインストールします。

    cd ~/anthos-baremetal-private-mode
    
    # Move it to a path under $PATH
    chmod a+x local-registry/docker-compose
    sudo cp local-registry/docker-compose /usr/bin
    
    # Install local registry
    ./local-registry/install.sh
    
  2. レジストリにログインして、アクセスできることを確認してください。エラーが表示された場合は、数秒待ってください。

    docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    

注:

  • 切断モードで動作する Anthos の Container Registry は、切断モードで動作する Anthos のインストールにのみ使用されます。本番環境で使用するには、まだ適切ではありません。
  • デフォルトの公開レジストリ プロジェクトは library で、デフォルトで使用できますが、必要に応じてレジストリにログインし、新しいプロジェクトを作成することもできます。
  • コンテナ レジストリは、サービスの開始後、https://REGISTRY_HOST/ で利用できます。ログイン認証情報は、ユーザー名が admin で、REGISTRY_PASSWORD がパスワードです。
  • 認証情報は暗号化されずに /home/<USER>/.docker/config.json に保存されます。

コンテナ レジストリにイメージをアップロードする

このセクションでは、切断モードで動作する Anthos のコンテナ イメージをコンテナ レジストリにアップロードします。

切断モードで動作する Anthos のコンテナ イメージを準備し、コンテナ レジストリにアップロードします。入力を求めるメッセージが表示されたら、Use that credential オプションを選択するか、新しい認証情報を入力します。

actl images push --private-registry=${PRIVATE_REGISTRY} \
    --images ~/anthos-baremetal-private-mode

注: ワークステーションで HTTP プロキシを使用する場合、actl images push コマンドが機能するには、次の環境変数の設定解除が必要になる場合があります。

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

省略可: Helm チャートを Container Registry にアップロードする

このセクションでは、切断モードで動作する Anthos のオプションの Helm チャートを Container Registry にアップロードします。切断モードで動作する Anthos バージョン 1.10 には、PostgreSQL、Redis、Kafka の 3 つの Google Cloud Marketplace ソリューション用の Helm チャートがバンドルされています。これらの一般的なオープンソース ソフトウェア スタックは、Google によってパッケージ化され、非接続環境で動作するように設計されています。

  1. 切断モードで動作する Anthos の Helm チャートを準備し、コンテナ レジストリにアップロードします。入力を求めるメッセージが表示されたら、Use that credential オプションを選択するか、新しい認証情報を入力します。

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
    
  2. 切断モードで動作する Anthos の Helm チャートを Container Registry から pull するには、Helm の試験運用版 OCI サポートを有効にします。

    export HELM_EXPERIMENTAL_OCI=1
    
  3. 非公開レジストリで自己署名証明書を使用する場合は、システム内の認証局(CA)証明書も更新する必要があります。詳細については、こちらの Helm の問題をご覧ください。

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. レジストリにログインして、アクセスできることを確認してください。

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. 切断モードで動作する Anthos の Helm チャートを Container Registry から pull してエクスポートします。

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

次のステップ