このページは、インフラストラクチャ オペレーターを対象としています。
Anthos プライベート モードとは、Anthos のバージョンの 1 つのことで、インターネットから物理的に完全に隔離された環境で実行されます。Anthos プライベート モードを使用すると、オンプレミスで厳しく規制されたワークロードを実行でき、同時にクラウド ネイティブ インフラストラクチャの多くのメリットを享受できます。
はじめに
Anthos プライベート モードのアーキテクチャは、ベアメタル版 Anthos の接続バージョンのアーキテクチャに似ています。クラスタユーザークラスタの作成と管理に使用する管理者が存在します。ワークロードはユーザー クラスタで実行します。Anthos プライベート モードのデプロイをインストールして管理するために必要なツールを含む単一のマシンである管理ワークステーションもあります。
ベアメタル版 Anthos の接続バージョンと比較して、Anthos プライベート モードには 3 つの追加コンポーネントがあります。
- オプションのコンテナ レジストリ。管理ワークステーションで実行され、Anthos コンテナ イメージがすべて格納されます。Container Registry にアクセスできない場合に必要になります。
actl
コマンドライン ツール。Anthos プライベート モードのインストールや他の管理タスクの実行を容易にします。- 承認と認証、オブザーバビリティ、マルチクラスタ Anthos 機能の管理を支援する Anthos Management Center。Management Center には、管理クラスタで実行されているウェブベースの Management Center Console が含まれます。Management Center Console のユーザー インターフェースを使用すると、Anthos のデプロイを構成するすべてのリソース(マシン、アドレスプール、ユーザー クラスタなど)を管理できます。また、Management Center Console を使用して Anthos 機能を管理し、ワークロードをモニタリングすることもできます。
図: Anthos のプライベート モードのアーキテクチャ図
環境の準備
プロダクト リリースへのアクセス権の取得、最新バージョンのダウンロード、依存関係のインストールを行います。
始める前に
このページで説明する手順を行う前に、Anthos プライベート モードの技術的な要件が満たされていることを確認してください。
Anthos プライベート モードへのアクセス権を取得する
Anthos プライベート モード リリースへのアクセス権は、Google から付与される必要があります。Google の担当者に各テスターのメールアドレスをご指定いただければ、ダウンロード リポジトリへのアクセス権をテスター各々に付与いたします。メールアドレスは Google アカウントである必要があります。
Google の担当者によって Anthos プライベート モード リリースにアクセスできることが確認された後、次のコマンドを実行して、Anthos プライベート モード リリースをダウンロードする権限があることを確認してください。
gsutil ls gs://anthos-private-mode-release/
エラーが表示された場合は、gcloud auth list
コマンドを実行して、Google の担当者に提供したものと同じ Google アカウントが gsutil
で使用されていることを確認します。
または、正しく権限が付与されていることは、最新のリリース バケットにアクセスして確認することもできます。その際のログインは、前に指定した Google アカウントで行う必要があります。
Anthos プライベート モード リリースへのアクセスで問題が発生した場合は、Google の担当者にお問い合わせください。
Anthos プライベート モードをダウンロードする
このセクションでは、Anthos プライベート モードのリリースをダウンロードします。このリリースは、それぞれ数ギガバイトの複数のファイルで構成されます。ご使用のインターネット接続によっては、ダウンロードに長い時間がかかることがあります。
Anthos プライベート モードをダウンロードする
管理ワークステーションで、次のコマンドを実行します。
# Login with the account granted access to Anthos private mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.8.5-gke.1
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.8/installing/infrastructure#download
export INSTALLER_DIGEST=7747774fc4274f330558c647b4268c3ef7fcac355c3f3451d7c6c09b8d91b933
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 プライベート モードにバンドルされたコンテナ レジストリを使用することもできます。
次の環境変数をエクスポートします。
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 プライベート モードの Container Registry を設定する
このセクションでは、管理ワークステーションに非公開のコンテナ レジストリを設定します。管理ワークステーションから、次のコマンドをすべて実行します。
自前の非公開コンテナ レジストリがない場合は、Anthos プライベート モードの Container Registry をインストールします。
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 プライベート モードのコンテナ レジストリは、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