このページは、インフラストラクチャ オペレーターを対象としています。
Anthos Management Center をインストールしたら、マシン、アドレスプール、Bootstrap Service を登録する必要があります。Management Center をインストールする前に、Management Center 構成ファイルを編集してリソースをすでに登録している場合は、追加のリソースを登録する場合を除いて、このページをスキップできます。
在庫マシンの登録
プラットフォーム管理者がユーザー クラスタを作成するためには、切断モードで動作する Anthos に、使用可能なアイドル状態のマシンのプールが必要です。このセクションでは、Anthos 管理クラスタにインベントリ マシンを登録して、プラットフォーム管理者が後でユーザー クラスタを作成するために使用できるようにします。これらのマシンは、管理クラスタノードと同じ要件を満たす必要があります。
kubectl apply -f path/to/example-machine.yaml --kubeconfig=ADMIN_KUBECONFIG
example-machine.yaml
ファイルの例:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
以下を置き換えます。
IP_ADDRESS
: マシンの IP アドレス(10.200.0.10
など)。KEY
:VALUE
: Key-Value ペア(ラックの場所を示す"rack": "r1020"
など)。
labels
は、リソースに関連付けられる自由形式の Key-Value ペアです。これらのラベルは、後で Management Center でマシンをフィルタリングするために使用できます。たとえば、このラベルを使用してラックの場所や特別なハードウェア構成を特定できます。
(省略可)在庫マシンごとに異なる SSH 認証鍵を使用する
デフォルトで、切断モードで動作している Anthos は、sshPrivateKeyPath
によって提供される SSH 認証鍵(管理クラスタのマシンへのアクセスに使用)を使用して、これらのインベントリ マシンにアクセスします。管理クラスタマシンとインベントリ マシン(ユーザー クラスタ用)をさらに分離するには、インベントリ マシンに別の SSH 認証鍵を使用できます。SSH 認証鍵を必要とするユーザー クラスタを作成する前に、これらの鍵を作成します。
すべてのインベントリ マシンに SSH 公開鍵を配布します。
管理クラスタ内に SSH 秘密鍵をシークレットとして保存します(例:
user-cluster-ssh-key
)。kubectl create secret generic user-cluster-ssh-key -n anthos-creds --kubeconfig=ADMIN_KUBECONFIG \ --from-file=id_rsa=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
は、鍵ペアを出力するパスに置き換えます。ユーザー クラスタを作成する場合は、手順 1 で作成したシークレット(
user-cluster-ssh-key
など)を名前空間anthos-creds
の下に指定します。これは、API を使用してクラスタを作成する場合にのみサポートされます。ユーザー クラスタの yaml ファイル内のクラスタ定義に、SSH 認証鍵を
sshKeySecret
として追加し、imagePullSecret
を指定します。次に例を示します。apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME spec: type: user credentials: sshKeySecret: name: user-cluster-ssh-key namespace: anthos-creds .... nodeAccess: loginUser: LOGIN_USERNAME ....
以下を置き換えます。
CLUSTER_NAME
: クラスタの名前。LOGIN_USERNAME
: ユーザー クラスタへのログインに使用するユーザー名。
VIP アドレスプールの登録
プラットフォーム管理者が InventoryMachines
以外のユーザー クラスタを作成する場合は、Anthos には使用可能なすべての仮想 IP アドレス(VIP)のプールが必要となります。このプールは、Management Center Console で、プラットフォーム管理者に利用可能な VIP を示し、ユーザー クラスタの作成時に VIP の可用性を検証するために使用されます。
このセクションでは、後で使用してユーザー クラスタを作成するために AddressPool
を Anthos 管理クラスタに登録します。アドレスプールは、anthos-addresspool-default
名を使用して 1 つだけ作成する必要があります。各ユーザー クラスタは、このアドレスプールの VIP を使用する必要があり、同じ範囲の VIP を再利用することはできません。VIP は、管理クラスタに使用される VIP と同じ要件を満たす必要があり、ノードの IP アドレスと重複できません。
kubectl apply -f path/to/ADDRESS_POOL_FILENAME --kubeconfig=ADMIN_KUBECONFIG
path/to/ADDRESS_POOL_FILENAME
は、アドレスプール ファイル(example-addresspool.yaml
など)のパスに置き換えます。
example-addresspool.yaml
ファイルの例:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: AddressPool
metadata:
name: anthos-addresspool-default
spec:
description: DESCRIPTION
addresses:
- VIP_ADDRESS_POOL
以下を置き換えます。
DESCRIPTION
: Management Center Console に表示する追加の手順を入力します。VIP_ADDRESS_POOL
: VIP アドレスのプール範囲(10.200.0.100-10.200.0.200
など)。
Bootstrap Service の登録
Bootstrap Service は、ユーザー クラスタが作成されると、ストレージ サービスや GPU ドライバなどの追加リソースをプリインストールして、すぐに使用できるようにするための仕組みです。Bootstrap Service を必要とするユーザー クラスタを作成する前に、Bootstrap Service を作成します。
サービスのインストールに必要なすべてのマニフェストを含む configmap を作成します。
kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \ --from-file=path/to/MANIFESTS --namespace=anthos-management-center
path/to/MANIFESTS
は、マニフェスト ファイルへのパスに置き換えます。configmap を参照する Bootstrap Service オブジェクトを作成します。
apiVersion: managementcenter.anthos.cloud.google.com/v1 kind: BootstrapService metadata: name: BOOTSTRAP_SERVICE_NAME namespace: anthos-management-center spec: # If set to True, this configuration can be applied to many user clusters, # e.g. a GPU driver configuration. If False, this configuration can only be # applied to a single user cluster, e.g. a CSI Driver + StorageClass # combination which is intended for exclusive use by a single user cluster. # Defaults to False. isReusable: False configMapRef: name: CONFIGMAP_NAME namespace: anthos-management-center
以下を置き換えます。
BOOTSTRAP_SERVICE_NAME
: Bootstrap Service の名前。CONFIGMAP_NAME
: 前の手順で作成した configmap の名前。
Bootstrap Service がさらに必要な場合は、上の手順を繰り返します。