リソースの登録

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

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 認証鍵を必要とするユーザー クラスタを作成する前に、これらの鍵を作成します。

  1. すべてのインベントリ マシンに SSH 公開鍵を配布します。

  2. 管理クラスタ内に 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 は、鍵ペアの出力先パスに置き換えます。

  3. ユーザー クラスタを作成する場合は、手順 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 を作成します。

  1. サービスのインストールに必要なすべてのマニフェストを含む configmap を作成します。

    kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \
      --from-file=path/to/MANIFESTS --namespace=anthos-management-center
    

    path/to/MANIFESTS は、マニフェスト ファイルへのパスに置き換えます。

  2. 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 の名前。
  3. Bootstrap Service がさらに必要な場合は、上の手順を繰り返します。

次のステップ