このページは、インフラストラクチャ オペレーターを対象としています。
切断モードで動作する 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 にアクセスする
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.11.3-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=1b8b1a8a596c0cbadd8aa2c0fc1bb2217d2f22d3d1f27f19b76e3f158e394e54
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
ディレクトリには、ローカルのコンテナ レジストリを設定するためのリソースが含まれています。managementcenter
、services
、baremetal
など、他のディレクトリには、管理クラスタと 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 を設定する
このセクションでは、管理ワークステーションに非公開のコンテナ レジストリを設定します。管理ワークステーションから、次のコマンドをすべて実行します。
独自のプライベート コンテナ レジストリがない場合は、切断モードで動作する 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
レジストリにログインして、アクセスできることを確認してください。エラーが表示された場合は、数秒待ってください。
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 によってパッケージ化され、非接続環境で動作するように設計されています。
切断モードで動作する 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
切断モードで動作する Anthos の Helm チャートを Container Registry から pull するには、Helm の試験運用版 OCI サポートを有効にします。
export HELM_EXPERIMENTAL_OCI=1
非公開レジストリで自己署名証明書を使用する場合は、システム内の認証局(CA)証明書も更新する必要があります。詳細については、こちらの Helm の問題をご覧ください。
sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
レジストリにログインして、アクセスできることを確認してください。
helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
切断モードで動作する Anthos の Helm チャートを Container Registry から pull してエクスポートします。
helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG> helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .