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 の作成についてはこちらもどうぞ。
つづく。