インフラストラクチャのインストール

Anthos プライベート モードとは、Anthos のバージョンの 1 つのことで、インターネットから物理的に完全に隔離された環境で実行されます。Anthos プライベート モードを使用すると、オンプレミスで厳しく規制されたワークロードを実行でき、同時にクラウド ネイティブ インフラストラクチャの多くのメリットを享受できます。

はじめに

このドキュメントでは、ベアメタル マシン、ネットワーキング、ストレージ、オペレーティング システムなどのインフラストラクチャ レイヤを担当するインフラストラクチャ オペレーターとして Anthos プライベート モードをインストールする方法について説明します。このプロセスには、Kubernetes とシステム管理の経験が必要です。

Anthos プライベート モードのアーキテクチャは、ベアメタル版 Anthos の接続バージョンのアーキテクチャに似ています。クラスタユーザークラスタの作成と管理に使用する管理者が存在します。ワークロードはユーザー クラスタで実行します。Anthos プライベート モードのデプロイをインストールして管理するために必要なツールを含む単一のマシンである管理ワークステーションもあります。

ベアメタル版 Anthos の接続バージョンと比較して、Anthos プライベート モードには 3 つの追加コンポーネントがあります。

  • オプションのコンテナ レジストリ。管理ワークステーションで実行され、Anthos コンテナ イメージがすべて格納されます。Container Registry にアクセスできない場合に必要になります。
  • Anthos プライベート モードのウェブベースの Management Center。管理クラスタで実行されます。それにより、マシン、AddressPools、ユーザー クラスタなど、Anthos デプロイメントを構成するすべてのリソースを管理できます。それはまた、Anthos の機能を管理し、モニタリングとワークロードの可視性へのアクセスを提供します。
  • actl コマンドライン ツール。Anthos プライベート モードのインストールや他の管理タスクの実行を容易にします。

Anthos プライベート モードのアーキテクチャを説明する図

図: Anthos のプライベート モードのアーキテクチャ図

このドキュメントを読み終えたら、Anthos Management Center のインストールで 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=0.9.0-gke.1
gsutil cp gs://anthos-private-mode-release/$VERSION/get-anthos-private-mode.sh .
chmod +x get-anthos-private-mode.sh
./get-anthos-private-mode.sh

# 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]

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

Anthos プライベート モードのダウンロード完了後、次のコマンドを実行します。

cd anthos-baremetal-private-mode

# Add actl command line tool and bin 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
├── baremetal
   ├── images
   └── package-spec.yaml
├── bin
   ├── actl
   ├── istioctl
   └── nomos
├── bmctl-workspace
   └── admin
       └── admin.yaml
├── 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 プライベート モードにバンドルされたコンテナ レジストリを使用することもできます。

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

    export REGISTRY_IP=[YOUR_REGISTRY_IP]
    export REGISTRY_PASSWORD=[YOUR_REGISTRY_PASSWORD]
    
    # By default, a "library" public project is created,
    # and you can also create other private projects via the Harbor portal.
    export PRIVATE_REGISTRY=${REGISTRY_IP}/library
    

    ここで

  2. [YOUR_REGISTRY_IP] は、レジストリ IP アドレスです。管理ワークステーションに Anthos プライベート モード コンテナ レジストリをインストールして使用する場合は、ここで管理ワークステーションの IP アドレスを使用します。

  3. [YOUR_REGISTRY_PASSWORD] は、既存のレジストリのパスワードか、新しい Container Registry を作成する場合は新しいパスワードです。

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

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
    

注:

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

次にレジストリにログインして、アクセスできることを確認してください。エラーが表示された場合は、数秒待つ必要があるかもしれません。

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

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

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

  1. Anthos プライベート モードのコンテナ イメージを準備して、コンテナ レジストリにアップロードします。表示された指示に従って、Use that credential オプションを選択します。

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