Nutanix Kubernetes Platform(NKP)v2.12 の Management Cluster のダッシュボードから、Kubernetes クラスタ(Managed Cluster / Workload Cluster)を作成してみます。
今回の環境
NKP の Management Cluster は、下記のように構築してあります。
作業前に Prism Central / Prism Element で、まだ仮想マシンが起動できそうなことを確認しておきます。
今回作成する予定の仮想マシン リソースは下記です。
- Control Plane: 1ノード(CPU 2、メモリ 4GB)
- Worker: 1ノード(CPU 2、メモリ 2GB)
Workload Cluster の作成
Management Cluster のダッシュボードの右上にある、「Create Cluster」をクリックします。
「Create Cluster」を開きます。
Workload Cluster のパラメータを入力しつつ、画面を下にスクロールしていきます。まずは、作成するクラスタの名前を入力します。
- Cluster Name: nkpw01
SSH 接続する OS ユーザー名と、公開鍵を入力します。
- SSH Username: nutanix
- SSH Public Key: (ssh-keygen などで作成した公開鍵を入力する)
Control Plane のパラメータを入力します。
- Nutanix AOS Cluster: lab-nxce-02 ※Nutanix クラスタを選択する。
- Subnet: nw-vlan-12
- OS Image: nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2
Control Plane の、残りのパラメータを入力します。ノード数やリソース割り当ては、あえてラボ環境むけにデフォルト値より下げています。
- Control Plane Endpoint IP: 192.168.12.205
- Control Plane Node Count: 3 → 1
- CPU Per Node (vCPU): 4 → 2
- Memory Per Node (GiB): 16 → 4
- Disk Size Per Node (GiB): 80
Worker Node Pool のパラメータを入力します。こちらも、ノード数やリソース割り当てをラボ環境むけにデフォルト値より下げています。
- Nutanix AOS Cluster: lab-nxce-02 ※Nutanix クラスタを選択する。
- Subnet: nw-vlan-12
- OS Image: nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2
- Worker Node Count: 4 → 1
- CPU Per Node (vCPU): 8 → 2
- Memory Per Node (GiB): 32 → 2
- Disk Size Per Node (GiB): 80
ストレージと、ネットワークのパラメータを指定します。
- Nutanix Storage Container: default-container-~
- Pod Network: 172.16.0.0/16
※ラボ環境と競合するので、デフォルトの 192.168.0.0/16 から変更した。 - Kubernetes Service Load Balancer Starting IP: 192.168.12.206
- Kubernetes Service Load Balancer Ending IP: 192.168.12.209
Image Registry はデフォルトのまま、画面右上の「Create」をクリックします。
少し待つと Kubernetes クラスタの作成が完了し、「Active」と表示されます。
Management Cluster(nkpm01)に kubectl で接続すると、追加作成された Namespace に Worker Cluster(nkpw01)のリソースが作成されています。
[root@lab-nkp-01 ~]# kubectl get cluster -A --kubeconfig=nkpm01.conf NAMESPACE NAME CLUSTERCLASS PHASE AGE VERSION default nkpm01 nkp-nutanix Provisioned 142m v1.29.6 nkpw01-bs2fn-6whzh nkpw01 nkp-nutanix Provisioned 5m29s v1.29.6
Machine リソースも、Workload Cluster ノードの仮想マシンが追加されています。
[root@lab-nkp-01 ~]# [root@lab-nkp-01 ~]# kubectl get machine -A --kubeconfig=nkpm01.conf NAMESPACE NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION default nkpm01-dh72h-sxwm5 nkpm01 nkpm01-dh72h-sxwm5 nutanix://e9a3bf45-533e-41cc-8485-b64a18c98271 Running 142m v1.29.6 default nkpm01-md-0-td65c-k9h78-d7z6g nkpm01 nkpm01-md-0-td65c-k9h78-d7z6g nutanix://0b7b7493-d218-44c4-8680-51cdce0b26cf Running 142m v1.29.6 default nkpm01-md-0-td65c-k9h78-m2dnk nkpm01 nkpm01-md-0-td65c-k9h78-m2dnk nutanix://1f18809c-12fb-4c3c-bf43-51968974cae5 Running 142m v1.29.6 nkpw01-bs2fn-6whzh nkpw01-9rvdn-rg558 nkpw01 nkpw01-9rvdn-rg558 nutanix://a7f9610c-eb5c-40a8-9989-e081f19d5ce3 Running 5m34s v1.29.6 nkpw01-bs2fn-6whzh nkpw01-md-0-l62q2-rntwm-8dqhq nkpw01 nkpw01-md-0-l62q2-rntwm-8dqhq nutanix://1f4d2261-4b58-4f89-aca1-a2a0ffa13daf Running 5m38s v1.29.6
Prism Element でも、仮想マシンが 2台作成されことが確認できます。
作成したクラスタへの接続
作成したクラスタ(nkpw01)のパネル右下のボタン →「Download kubeconfig」をクリックして、kubeconfig ファイルをダウンロードします。
- ファイル: nkpw01-kubeconfig.yaml
kubectl を実行するマシンに、kubeconfig ファイルを配置します。kubeconfig ファイルの内容は、下記のようになっています。
[root@lab-nkp-01 ~]# kubectl --kubeconfig $(pwd)/nkpw01-kubeconfig.yaml config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://192.168.12.205:6443 name: nkpw01 contexts: - context: cluster: nkpw01 user: nkpw01-admin name: nkpw01-admin@nkpw01 current-context: nkpw01-admin@nkpw01 kind: Config preferences: {} users: - name: nkpw01-admin user: client-certificate-data: DATA+OMITTED client-key-data: DATA+OMITTED
Kubernetes クラスタに接続できました。
[root@lab-nkp-01 ~]# kubectl --kubeconfig $(pwd)/nkpw01-kubeconfig.yaml get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME nkpw01-9rvdn-rg558 Ready control-plane 72m v1.29.6 192.168.12.163 <none> Rocky Linux 9.4 (Blue Onyx) 5.14.0-427.31.1.el9_4.x86_64 containerd://1.6.33-d2iq.1 nkpw01-md-0-l62q2-rntwm-8dqhq Ready70m v1.29.6 192.168.12.183 <none> Rocky Linux 9.4 (Blue Onyx) 5.14.0-427.31.1.el9_4.x86_64 containerd://1.6.33-d2iq.1
Workload Cluster は、Management Cluster よりもだいぶ Pod が少なめです。
[root@lab-nkp-01 ~]# kubectl --kubeconfig $(pwd)/nkpw01-kubeconfig.yaml get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE cert-manager cert-manager-556c9f47d-r9b8k 1/1 Running 0 20m cert-manager cert-manager-cainjector-57d8d7ff64-78x2q 1/1 Running 0 20m cert-manager cert-manager-webhook-844cfb8858-c7j7w 1/1 Running 0 20m kommander-flux helm-controller-dc4455cd5-q5gdw 0/1 Pending 0 20m kommander-flux kustomize-controller-755bbdfc55-tq76x 1/1 Running 0 20m kommander-flux notification-controller-86c44d47f9-2bcr7 0/1 Terminating 0 53m kommander-flux notification-controller-86c44d47f9-2nbzj 1/1 Running 0 20m kommander-flux prereq-wait-nkpw01-bs2fn-6whzh-rmzcs-8m5s9 1/1 Running 0 20m kommander-flux source-controller-68bc9cbf4d-d6x46 1/1 Running 0 20m kube-system cilium-cl4zq 1/1 Running 0 72m kube-system cilium-gscgf 1/1 Running 0 73m kube-system cilium-operator-58c5d5d6d-cpqz2 1/1 Running 1 (65m ago) 73m kube-system cilium-operator-58c5d5d6d-nlbj7 1/1 Running 0 73m kube-system coredns-76f75df574-hbckr 1/1 Running 0 73m kube-system coredns-76f75df574-w9cdx 1/1 Running 0 73m kube-system etcd-nkpw01-9rvdn-rg558 1/1 Running 0 73m kube-system kube-apiserver-nkpw01-9rvdn-rg558 1/1 Running 0 73m kube-system kube-controller-manager-nkpw01-9rvdn-rg558 1/1 Running 0 73m kube-system kube-proxy-hllm6 1/1 Running 0 72m kube-system kube-proxy-jgk9w 1/1 Running 0 73m kube-system kube-scheduler-nkpw01-9rvdn-rg558 1/1 Running 0 73m kube-system kube-vip-nkpw01-9rvdn-rg558 1/1 Running 0 71m kube-system nutanix-cloud-controller-manager-598b4c7669-v5sxn 1/1 Running 1 (72m ago) 73m kube-system snapshot-controller-5c7f9fc58-kv646 1/1 Running 0 73m metallb-system metallb-controller-94f95d674-grtwn 1/1 Running 0 73m metallb-system metallb-speaker-s22rt 4/4 Running 0 72m metallb-system metallb-speaker-tfppk 4/4 Running 0 3m20s node-feature-discovery node-feature-discovery-gc-7f54d58d99-7v6ww 1/1 Running 0 73m node-feature-discovery node-feature-discovery-master-ccf75997b-846kw 1/1 Running 0 73m node-feature-discovery node-feature-discovery-worker-v5wj6 1/1 Running 0 72m node-feature-discovery node-feature-discovery-worker-wnw9x 0/1 Running 0 71m ntnx-system nutanix-csi-controller-754fcf5f85-4vqbg 7/7 Running 0 40m ntnx-system nutanix-csi-controller-754fcf5f85-hjkqm 7/7 Running 2 (69m ago) 69m ntnx-system nutanix-csi-node-k6pr7 3/3 Running 1 (69m ago) 69m ntnx-system nutanix-csi-node-qt4r6 3/3 Running 0 2m50s
以上。