VMware Cloud Foundation(VCF)5.2.1 に構築したスーパーバイザーの vSphere 名前空間に、vSphere Kubernetes Service(VKS)の Kubernetes クラスタを作成してみます。
前回はこちら。
今回の内容です。
今回の環境
VCF 5.2.1 の VI Worklaod Domain で、スーパーバイザーを構築してあります。
そして、vSphere 名前空間「demo-ns-01」を作成してあります。
1. VKS クラスタの YAML ファイルの準備
今回は、下記のように VKS クラスタを定義した YAML ファイルを用意しました。
run.tanzu.vmware.com/v1alpha1 の TanzuKubernetesCluster は最新のリソースではないのですが、VMware Validated Solutions の「Developer Ready Infrastructure for VMware Cloud Foundation」ではまだ利用している(下記のあたり)ため、今回の VKS デプロイでも採用しました。
vks01.yml
- L3:リソース名は変更されず、TanzuKubernetesCluster のままです。
- L9, L13:制御 プレーン / ワーカーは、どちらも 1ノードです。
- L10, L14:仮想マシン クラスは、制御プレーン / ワーカー の両方で best-effort-small です。
- L11, L15:仮想マシン ストレージ ポリシーに対応した StorageClass を指定します。(vcf-w01-cl01-vsan-storage-policy)
- L17:Kubernetes のバージョンは、v1.30.x です。
Tanzu Kubernetes Release(TKR)は、ワークロード管理を有効化(スーパーバイザー構築)した際に自動作成されたコンテンツ ライブラリである「Kubernetes Release Content Library」に OVF として登録されており、VKS クラスタを作成する際に自動ダウンロードされます。
今回は「v1.30」とバージョン指定しているので、登録されている TKR のうち互換性がある最新版の「v1.30.1」が選択されます。
TKR は、kubectl では下記のように確認できます。
gowatana [ ~ ]$ kubectl get tkr | grep -e NAME -e v1.30 NAME VERSION READY COMPATIBLE CREATED TYPE v1.30.1---vmware.1-fips-tkg.5 v1.30.1+vmware.1-fips-tkg.5 True True 31h
2. vSphere 名前空間への接続
vSphere 名前空間に VKS クラスタを作成するため、kubectl でスーパーバイザーに接続して、コンテキストを vSphere 名前空間のものに切り替えます。
この手順は、前回の投稿と同様です。今回も、AD ユーザー([email protected])でログインしています。
3. VKS クラスタの作成
kubectl で YAML ファイルを適用して、VKS クラスタを作成します。
gowatana [ ~ ]$ kubectl apply -f vks01.yml Warning: v1alpha1 version of run.tanzu.vmware.com/TanzuKubernetesCluster is deprecated. Please use v1alpha3 or above tanzukubernetescluster.run.tanzu.vmware.com/vks01 created
VKS クラスタ(Tanzu Kubernetes Cluster / TKC クラスタ)のデプロイが開始されました。TKR のバージョンは、v1.30.1 が選択されています。
gowatana [ ~ ]$ kubectl get cluster NAME CLUSTERCLASS PHASE AGE VERSION vks01 tanzukubernetescluster Provisioning 22s v1.30.1+vmware.1-fips gowatana [ ~ ]$ kubectl get tkc NAME CONTROL PLANE WORKER TKR NAME AGE READY TKR COMPATIBLE UPDATES AVAILABLE vks01 1 1 v1.30.1---vmware.1-fips-tkg.5 40s False True
vSphere Client で確認すると、OVF テンプレートをデプロイするタスクが開始されています。
VKS のデプロイが完了したら、下記のようになります。
gowatana [ ~ ]$ kubectl get cluster NAME CLUSTERCLASS PHASE AGE VERSION vks01 tanzukubernetescluster Provisioned 53m v1.30.1+vmware.1-fips gowatana [ ~ ]$ kubectl get tkc NAME CONTROL PLANE WORKER TKR NAME AGE READY TKR COMPATIBLE UPDATES AVAILABLE vks01 1 1 v1.30.1---vmware.1-fips-tkg.5 53m True True
VKS クラスタ ノードの仮想マシンです。
gowatana [ ~ ]$ kubectl get vspheremachine NAME ZONE PROVIDERID IPADDR vks01-rl9vz-cswml zone-01 vsphere://4202d041-8589-eb89-f4c8-8f54b3dd0d89 10.244.0.34 vks01-workers-f6dz9-s9x86-vh22p vsphere://4202f7c6-ce9f-bf00-0b59-db0750cc8607 10.244.0.35
vSphere Client でも、vks01 クラスタが 2台の仮想マシンで構成されていることがわかります。
vSphere 名前空間「demo-ns-01」の「コンピューティング」タブでも、VKS クラスタ(Tanzu Kubernetes クラスタ)として「vks01」が表示されています。
NSX Manager でも、自動的にオーバーレイ セグメントが追加されて、2台の仮想マシンが接続されていることがわかります。
4. VKS クラスタへの接続
VKS クラスタには、kubectl で下記のようにログインします。
kubectl vsphere login \ --server=192.168.82.2 \ [email protected] \ --tanzu-kubernetes-cluster-namespace=demo-ns-01 \ --tanzu-kubernetes-cluster-name=vks01 \ --insecure-skip-tls-verify
実際にログインすると、下記のように VKS クラスタと同名のコンテキストが作成されます。
gowatana [ ~ ]$ kubectl vsphere login --server=192.168.82.2 [email protected] --tanzu-kubernetes-cluster-namespace=demo-ns-01 --tanzu-kubernetes-cluster-name=vks01 --insecure-skip-tls-verify Password: Logged in successfully. You have access to the following contexts: 192.168.82.2 demo-ns-01 vks01 If the context you wish to use is not in this list, you may need to try logging in again later, or contact your cluster administrator. To change context, use `kubectl config use-context <workload name>`
VSK クラスタのコンテキストに切り替えられています。
gowatana [ ~ ]$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE 192.168.82.2 192.168.82.2 wcp:192.168.82.2:[email protected] demo-ns-01 192.168.82.2 wcp:192.168.82.2:[email protected] demo-ns-01 * vks01 192.168.82.3 wcp:192.168.82.3:[email protected]
Kubernetes のノードが、 制御プレーン x1 と ワーカー x1 で構成されています。
gowatana [ ~ ]$ kubectl get nodes NAME STATUS ROLES AGE VERSION vks01-rl9vz-cswml Ready control-plane 44m v1.30.1+vmware.1-fips vks01-workers-f6dz9-s9x86-vh22p Ready <none> 36m v1.30.1+vmware.1-fips
つづく。