vm.gowatana.jp

NEOにほんごVMware(仮)

はじめての Tanzu Kubernetes Grid。Part-04:Management Cluster の作成

VMware Tanzu Kubernetes Grid(TKG)で、vSphere 環境に Kubernetes クラスタを作成してみます。今回は、Management Cluster を作成します。

 

前回はこちら。

 

ドキュメントでは下記のあたりです。

 

今回の内容です。

 

3. Management Cluster の作成

Bootstrap マシンで tanzu CLI を実行して、Management Cluster を作成します。

 

3-1. Web UI での Management Cluster 作成

今回は、TKG の Web UI で Management Cluster を作成します。

Bootstrap マシンで、tanzu management-cluster create を実行して、Web UI を起動します。今回は Bootstrap マシンの外にある Web ブラウザからアクセスするため、「--bind」オプションを指定しています。

demo-01 [ ~ ]$ tanzu management-cluster create --ui --bind=0.0.0.0:8080 --browser=none

 

Web ブラウザから、Bootstrap マシンの 8080 番ポートにアクセスします。

「VMware vSphere」の「DEPLOY」をクリックします。

 

1. IaaS Provider

vCenter への接続情報を入力して、「CONNECT」をクリックします。

  • VCENTER SERVER: 接続する vCenter のホスト名か IP アドレスを入力
  • USERNAME: 今回は administrator@vsphere.local ユーザを指定
  • PASSWORD
  • SSL THUMBPRINT VERIFICATION: ON にして SSL 証明書エラーを無視します。

 

vCenter 7.0 に接続すると「vSphere 7.0.3 Environment Detected」といった画面が表示されます。今回は、vSphere with Tanzu のスーパーバイザー クラスタを利用しないので「DEPLOY TKG MANAGEMENT CLUSTER」をクリックします。

 

データセンタと、事前作成しておいた SSH 公開鍵を指定して「NEXT」をクリックします。

  • DATACENTER: vSphere インベントリのデータセンタを選択。
  • SSH PUBLIC KEY: $HOME/.ssh/id_rsa.pub ファイルを入力。今回は Bootstrap マシンの ssh-keygen コマンドで作成したものを利用する。

 

2. Cluster Settings

Management Cluster の設定値を入力して、「NEXT」で進めます。

  • INSTANCE TYPE: Management Cluster の Control Plane VM のスペックを指定(今回は medium)
  • MANAGEMENT CLUSER NAME: Kubernetes クラスタの名前(tkg16mc01)
  • CONTROL PLANE ENDPOINT PROVIDER: NSX ALB か kube-vip を選択(kube-vip)
  • WORKER NODE INSTANCE TYPE: Management Cluster のWorker Node VM のスペック(medium)
  • CONTROL PLANE ENDPOINT: kubectl などから Management Cluster に接続するアドレスを入力。kube-vip を選択した場合は、Kubernetes ノードの DHCP ネットワークで、DHCP 範囲外の IP アドレスを指定する。(192.168.11.201)

 

3. VMware NSX Advanced Load Balancer

今回は NSX ALB の設定はスキップして「NEXT」をクリックします。

 

4. Metadata

Metadata のパラメータ入力もスキップして「NEXT」をクリックします。

 

5. Resources

kubernetes  ノードの VM をデプロイする場所を選択して、「NEXT」をクリックします。

  • VM FOLDER: Management Cluster の VM を作成するフォルダを選択。
  • CLUSTER, HOSTS, AND RESOURCE POOLS: 今回はリソース プールを選択。
  • DATASTORE: 今回は vSAN データストアを選択。

 

6. Kubernetes Network

ネットワークの設定を入力して「NEXT」をクリックします。

  • NETWORK NAME: DHCP ネットワークのポートグループを選択。

 

クラスタの Service CIDR と Pod CIDR は、デフォルトのままにしてあります。

  • CLUSTER SERVICE CIDR: 100.64.0.0/13
  • CLUSTER POD CIDR: 100.96.0.0/11

 

7. Identity Management

Identity Management は、今回は無効のまま「NEXT」をクリックします。

 

8. OS Images

OS イメージを選択して「NEXT」を選択します。OVA ファイルからデプロイしておいた TKG 仮想マシンをテンプレートに変換しておくと選択可能になっているはずです。 

  • OS IMAGE: photon-3-kube-v1.23.10+vmware.1

 

9. CEIP Agreement

CEIP(Customer Experience Improvement Program)の可否を選択して、「NEXT」をクリックします。

 

デプロイ開始

「REVIEW CONFIGURATION」をクリックし、設定確認画面に進みます。

 

設定を確認して「DEPLOY MANAGEMNT CLUSTER」をクリックします。

 

Management Cluster の作成処理が開始されます。

 

ここで、画面下にある「CLI Command Equivalent」から、自動生成された Management Cluster の YAML ファイルのパスを確認できます。

tanzu management-cluster create tkg16mc01 --file /home/demo-01/.config/tanzu/tkg/clusterconfigs/u2mpsqmr16.yaml -v 6

 

しばらく待つと、Management Cluster の作成が完了します。

 

作成された Management Cluster の情報は「tanzu management-cluster get」または「tanzu mc get」コマンドで確認できます。ここでは、$HOME/.kube-tkg/config ファイルに保存された kubeconfig が利用されます。

demo-01 [ ~ ]$ tanzu mc get

 

下記のように、Management Cluster の情報が表示されるはずです。

 

Control Plane の仮想マシンが 1台デプロイされ、CONTROL PLANE ENDPOINT に入力した VIP アドレスが設定されています。

 

Worker ノードの仮想マシンも 1台デプロイされています。

 

3-2. Management Cluster への接続

kubectl から Management Cluster に接続するための kubeconfig を取得します。「tanzu management-cluster kubeconfig get」または「tanzu mc kubeconfig get」を実行します。

demo-01 [ ~ ]$ tanzu mc kubeconfig get --admin
Credentials of cluster 'tkg16mc01' have been saved
You can now access the cluster by running 'kubectl config use-context tkg16mc01-admin@tkg16mc01'

 

これで「<クラスタ名>-admin@<クラスタ名>」というコンテキストが作成され、選択された状態になります。

demo-01 [ ~ ]$ kubectl config get-contexts
CURRENT   NAME                        CLUSTER     AUTHINFO          NAMESPACE
*         tkg16mc01-admin@tkg16mc01   tkg16mc01   tkg16mc01-admin

 

Kubernetes クラスタのノードを確認してみます。

demo-01 [ ~ ]$ kubectl get nodes
NAME                             STATUS   ROLES                  AGE   VERSION
tkg16mc01-control-plane-fffsj    Ready    control-plane,master   13m   v1.23.10+vmware.1
tkg16mc01-md-0-847b96b84-fh6lq   Ready    <none>                 11m   v1.23.10+vmware.1

 

3-3. Management Cluster の YAML ファイルの保全

自動生成された Management Cluster の YAML は、Workload Cluster の作成で利用するので保全しておきます。

demo-01 [ ~ ]$ cp /home/demo-01/.config/tanzu/tkg/clusterconfigs/u2mpsqmr16.yaml $HOME/tkg16mc01.yml

 

またこの YAML ファイルを使用して、次回の Management Cluster 作成は下記のように CLI で実行できます。

tanzu mc create -f $HOME/tkg16mc01.yml

 

CLI での Management Cluster の作成についてはこちらもどうぞ。

 

つづく。