Management Center をインストールする
このセクションでは、ベアメタル マシンに Anthos 管理クラスタをインストールします。その後、管理クラスタの最上位に Anthos プライベート モードの Management Center をインストールします。
管理クラスタ構成ファイルを準備する
環境に合わせて ./bmctl-workspace/admin/admin.yaml
ファイルの設定を更新します。
vi ./bmctl-workspace/admin/admin.yaml
入力が必要なフィールドの詳細については、以下の説明と、admin.yaml
ファイル内のコメントを確認してください。
sshPrivateKeyPath
は、インストール中に、クラスタの構成要素となる他のノードへのアクセスに使用される鍵です。これは、前提事項に記載されたノードに配布した公開鍵の非公開部分です。registryMirrors
は、Docker イメージが保存されているすべてのレジストリ ミラーの場所を特定します。registryMirrors.endpoint
は、ミラーのエンドポイントです。エンドポイントの形式はURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
です。たとえば、インフラストラクチャのインストールの手順に従ってワークステーションにレジストリを作成した場合は、エンドポイントをhttps://REGISTRY_HOST/v2/library
に設定します。REGISTRY_HOST
とIMAGE_PREFIX
の間の/v2/
が必要であることに注意してください。registryMirrors.pullCredentialConfigPath
は認証情報用のパスです。通常、これは/home/USER/.docker/config.json
のような形式です。registryMirrors.caCertPath
は、レジストリがトラフィックを暗号化するために使用する認証局の場所です。この証明書はインストール プロセス中にノードへ配布され、ノードがレジストリからイメージを pull できるようにします。通常は、/etc/docker/certs.d/REGISTRY_HOST/ca.crt
です。
controlPlane
仕様は、コントロール プレーンの一部となるノードを定義します。HA デプロイメントを使用する場合は、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
を設定して、VIP を識別して Kubernetes API Server を公開し、addressPools
を設定して VIP をリクエストするサービスにオンデマンドで割り当てる必要があります。例:loadBalancer: mode: bundled # There are two load balancer VIPs: one for the control plane and one for the # L7 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: <USER_NAME>
nodePool
仕様では、管理クラスタ上で AdminUI、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 - address: 10.200.0.7
管理クラスタを作成する
次のコマンドを実行して、管理クラスタを作成します。これには約 30 分かかります。エラーが発生した場合は、既知の問題を確認してください。
cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin
管理クラスタが作成されたら、そのクラスタにアクセスできることを確認します。
export ADMIN_KUBECONFIG=$(pwd)/bmctl-workspace/admin/admin-kubeconfig
kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}
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 を取得する
Anthos プライベート モードの Management Center の URL は、Management Center のインストール後に表示されますが、次のコマンドでも取得できます。
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
返される URL は、Anthos プライベート モードを設定するためプラットフォーム管理者と共有されることを想定しています。
ドメイン名を構成して Management Center にアクセスする
独自のドメイン名を構成して、Anthos プライベート モードの Management Center にアクセスするには次のようにします。
A record
を DNS ドメイン構成に追加し、以下の関数が返す IP アドレスに設定します。actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}