Anthos Management Center をインストールする

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

このページでは、Anthos Management Center をインストールしてその URL を取得する方法について説明します。

Management Center をインストールする

このセクションでは、ベアメタル マシンに管理クラスタをインストールし、管理クラスタの上に Management Center をインストールします。

管理クラスタ構成ファイルを準備する

環境に合わせて ./actl-workspace/admin/admin.yaml ファイルの設定を更新します。

vi ./actl-workspace/admin/admin.yaml

次のフィールドに値を入力します。

  • sshPrivateKeyPath は、インストール中に、クラスタの構成要素となる他のノードへのアクセスに使用される鍵です。これは、前提事項に記載されたノードに配布した公開鍵の非公開部分です。

  • registryMirrors は、Docker イメージが保存されているすべてのレジストリ ミラーの場所を特定します。

    • registryMirrors.endpoint は、ミラーのエンドポイントです。エンドポイントの形式は URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX です。たとえば、ワークステーションにレジストリを作成した場合は、エンドポイントを https://REGISTRY_HOST/v2/library に設定します。REGISTRY_HOSTIMAGE_PREFIX の間の /v2/ が必要であることに注意してください。

    • registryMirrors.pullCredentialConfigPath は認証情報用のパスです。通常、これは /home/USER/.docker/config.json のような形式です。

    • registryMirrors.caCertPath は、レジストリがトラフィックを暗号化するために使用する認証局の場所です。この証明書はインストール プロセス中にノードへ配布され、ノードがレジストリからイメージを pull できるようにします。通常は、/etc/docker/certs.d/REGISTRY_HOST/ca.crt です。

  • controlPlane 仕様は、コントロール プレーンの一部となるノードを定義します。高可用性デプロイを使用する場合は、3 つの IP アドレスを指定します。以下はその例です。

    controlPlane:
      nodePoolSpec:
        nodes:
        # Control plane node pools. Typically, this is either a single machine
        # or 3 machines if using a high availability deployment.
        - address: 10.200.0.3
        - address: 10.200.0.4
        - address: 10.200.0.5
    
  • loadBalancer 仕様は、使用するロードバランサのタイプを定義します。デフォルト構成では、実行中のクラスタにロードバランサがインストールされます。この場合は、少なくとも controlPlaneVIP を設定して仮想 IP(VIP)アドレスプールを識別して Kubernetes API Server を公開し、addressPools を設定して VIP をリクエストするサービスにオンデマンドで割り当てる必要があります。次に例を示します。

    loadBalancer:
      mode: bundled
      # There are two load balancer VIPs: one for the control plane and one for the
      # Layer 7 Ingress service.
      # The VIPs must be in the same subnet as the load balancer nodes.
      vips:
        # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server.
        # This address must not be in the address pools below.
        controlPlaneVIP: 10.200.0.50
      # AddressPools is a list of non-overlapping IP ranges for the data plane load
      # balancer.
      # All addresses must be in the same subnet as the load balancer nodes.
      # Address pool configuration is only valid for 'bundled' LB mode in non-admin
      # clusters.
      addressPools:
      - name: pool1
        addresses:
        # Each address must be either in the CIDR form (1.2.3.0/24)
        # or range form (1.2.3.1-1.2.3.5).
        - 10.200.0.51-10.200.0.59
    
  • クラスタ仕様の最後のセクションでは、loginUser を指定しています。このログインでは、次に記載の SSH 認証鍵にアクセスできる必要があります。また、事前準備 で鍵が配布されたユーザーである必要があります。

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    LOGIN_USERNAME は、ユーザー クラスタへのログインに使用するユーザー名に置き換えます。

  • nodePool 仕様では、管理クラスタ上で Management Center Console、Prometheus、Grafana などのサービスをホストするノードを特定します。これらのノードは、管理クラスタのワーカーノードです。次に例を示します。

    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: node-pool-1
      namespace: cluster-admin
    spec:
      # Cannot be changed, must be admin
      clusterName: admin
      nodes:
      - address: 10.200.0.6
    

管理クラスタを作成する

次のコマンドを実行して、管理クラスタを作成します。これには約 30 分かかります。管理クラスタの作成で問題がある場合は、既知の問題をご覧ください。

cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin

管理クラスタが作成されたら、そのクラスタにアクセスできることを確認します。

export ADMIN_KUBECONFIG=$(pwd)/actl-workspace/admin/admin-kubeconfig

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

省略可: リソースの登録

./managementcenter/management-center.yaml 構成ファイルを編集してリソースを自動的に登録すると、インストールの完了時にリソースを利用できるようになります。また、Management Center のインストールが完了したら、このセクションをスキップしてリソースを手動で登録することもできます。

./managementcenter/management-center.yaml ファイルを開いて、Management Center のインストールをカスタマイズします。

vi ./managementcenter/management-center.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 でマシンをフィルタリングするために使用できます。たとえば、このラベルを使用してラックの場所や特別なハードウェア構成を特定できます。

仮想 IP(VIP)アドレスプールを登録する

後でユーザー クラスタを作成するために使用する AddressPool を管理クラスタに登録します。

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 ドライバなどの追加リソースをプリインストールして、すぐに使用できるようにするための仕組みです。

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

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

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

  2. 次のセクションを ./managementcenter/management-center.yaml ファイルに追加して、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 の名前。

Management Center をインストールする

管理クラスタに Management Center をインストールします。

デフォルト構成

次の手順では、最小のデフォルト構成で Management Center をインストールします。

cd ~/anthos-baremetal-private-mode
actl platform management-center create

カスタム構成

次の手順では、カスタム構成で Management Center をインストールします。これにより、Management Center をインストールする前に設定をカスタマイズできるようになります。これを行うには、./managementcenter/management-center.yaml ファイルを更新して Management Center のインストールをカスタマイズします。

vi ./managementcenter/management-center.yaml

カスタム構成を使用して Management Center をインストールします。

cd ~/anthos-baremetal-private-mode
actl platform management-center create --config managementcenter/management-center.yaml

Management Center の URL の取得

Management Center の URL は、Management Center のインストール後に出力されますが、次のコマンドを実行して取得することもできます。

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

返された URL をプラットフォーム管理者と共有することで、プラットフォーム管理者が Management Center にアクセスできるようにすることができます。

ドメイン名を構成して Management Center にアクセスする

独自のドメイン名を構成して Management Center にアクセスするには:

A record を DNS ドメイン構成に追加し、以下のコマンドが返す IP アドレスに設定します。

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

次のステップ