NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

NKP の Workload Cluster に Node Pool を追加してみる。(nkp CLI)

Nutanix Kubernetes Platform(NKP)v2.12 で作成した Workload Cluster に、ノード プールを追加してみます。

今回の内容です。

今回の環境

NKP の Workload Cluster は、下記のように作成してあります。

Workload Cluster は、「nkpw01」という名前で作成してあります。

[gowatana@lab-nkp-01 ~]$ nkp get clusters -A
WORKSPACE               NAME            KUBECONFIG                              STATUS
kommander-workspace     host-cluster    kommander-self-attach-kubeconfig        Joined
nkpw01-8sqds            nkpw01          nkpw01-kubeconfig                       Joined

作成されている Namespace は、「nkpw01-gtwd6」です。

[gowatana@lab-nkp-01 ~]$ kubectl get cluster -A
NAMESPACE      NAME     CLUSTERCLASS   PHASE         AGE     VERSION
default        nkpm01   nkp-nutanix    Provisioned   43h     v1.29.6
nkpw01-gtwd6   nkpw01   nkp-nutanix    Provisioned   9m39s   v1.29.6

この Workload Cluster は、Control Plane 1台、Worker 1台で構成されています。

[gowatana@lab-nkp-01 ~]$ kubectl get nodes --kubeconfig=nkpw01-kubeconfig.yaml
NAME                            STATUS   ROLES           AGE     VERSION
nkpw01-md-0-cjx7p-mrdhb-vr4wv   Ready    <none>          8m33s   v1.29.6
nkpw01-wgc9p-mrh4h              Ready    control-plane   10m     v1.29.6

Worker は、md-0 というノード プールに作成されています。

[gowatana@lab-nkp-01 ~]$ nkp get nodepools --cluster-name=nkpw01 --namespace=nkpw01-gtwd6
NODEPOOL               DESIRED               READY               KUBERNETES VERSION
md-0                   1                     1                   v1.29.6

 

ノード プールの作成

nkp CLI で、ノード プール「md-1」を追加作成してみます。

nkp create nodepool nutanix md-1 \
--cluster-name=nkpw01 \
--namespace=nkpw01-gtwd6 \
--prism-element-cluster=lab-nxce-02 \
--subnets=nw-vlan-12 \
--vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \
 --vcpus=2 \
--memory=2

実際に実行すると、下記のようになります。

[gowatana@lab-nkp-01 ~]$ nkp create nodepool nutanix md-1 \
> --cluster-name=nkpw01 \
> --namespace=nkpw01-gtwd6 \
> --prism-element-cluster=lab-nxce-02 \
> --subnets=nw-vlan-12 \
> --vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \
>  --vcpus=2 \
> --memory=2
Generating nkpw01-gtwd6/md-1 nodepool resources
cluster.cluster.x-k8s.io/nkpw01 created

コマンドの実行完了と、ノード プールでのノード作成処理は非同期です。

[gowatana@lab-nkp-01 ~]$ nkp get nodepool --cluster-name=nkpw01 --namespace=nkpw01-gtwd6
NODEPOOL               DESIRED               READY               KUBERNETES VERSION
md-0                   1                     1                   v1.29.6
md-1                   1                     0                   v1.29.6

ノード プールは、Cluster API の MachineDeployment で仮想マシンを作成します。

[gowatana@lab-nkp-01 ~]$ kubectl get machinedeployments.cluster.x-k8s.io --namespace=nkpw01-gtwd6
NAME                CLUSTER   REPLICAS   READY   UPDATED   UNAVAILABLE   PHASE       AGE   VERSION
nkpw01-md-0-cjx7p   nkpw01    1          1       1         0             Running     40m   v1.29.6
nkpw01-md-1-brshf   nkpw01    1                  1         1             ScalingUp   85s   v1.29.6

仮想マシンが作成されると、下記のようになります。

[gowatana@lab-nkp-01 ~]$ kubectl get machinedeployments.cluster.x-k8s.io --namespace=nkpw01-gtwd6
NAME                CLUSTER   REPLICAS   READY   UPDATED   UNAVAILABLE   PHASE     AGE     VERSION
nkpw01-md-0-cjx7p   nkpw01    1          1       1         0             Running   41m     v1.29.6
nkpw01-md-1-brshf   nkpw01    1          1       1         0             Running   2m41s   v1.29.6

ちなみに MachineDeployment は、md に省略できます。

[gowatana@lab-nkp-01 ~]$ kubectl get md --namespace=nkpw01-gtwd6
NAME                CLUSTER   REPLICAS   READY   UPDATED   UNAVAILABLE   PHASE     AGE     VERSION
nkpw01-md-0-cjx7p   nkpw01    1          1       1         0             Running   41m     v1.29.6
nkpw01-md-1-brshf   nkpw01    1          1       1         0             Running   2m52s   v1.29.6

仮想マシンは、Machine リソースで確認できます。

[gowatana@lab-nkp-01 ~]$ kubectl get machine --namespace=nkpw01-gtwd6
NAME                            CLUSTER   NODENAME                        PROVIDERID                                       PHASE     AGE     VERSION
nkpw01-md-0-cjx7p-mrdhb-vr4wv   nkpw01    nkpw01-md-0-cjx7p-mrdhb-vr4wv   nutanix://bd5260a7-29c7-485f-a817-156a49a3902b   Running   42m     v1.29.6
nkpw01-md-1-brshf-jj9dk-rd9pp   nkpw01    nkpw01-md-1-brshf-jj9dk-rd9pp   nutanix://cbba2fbd-6d93-49c1-bb68-5480cdb344fd   Running   3m39s   v1.29.6
nkpw01-wgc9p-mrh4h              nkpw01    nkpw01-wgc9p-mrh4h              nutanix://43f4a9a9-1259-402b-aa3e-d8ba7fea9004   Running   42m     v1.29.6

AHV 独自の、NutanixMachine リソースもあります。

[gowatana@lab-nkp-01 ~]$ kubectl get nutanixmachine --namespace=nkpw01-gtwd6
NAME                            ADDRESS          READY   PROVIDERID
nkpw01-md-0-cjx7p-mrdhb-vr4wv   192.168.12.168   true    nutanix://bd5260a7-29c7-485f-a817-156a49a3902b
nkpw01-md-1-brshf-jj9dk-rd9pp   192.168.12.154   true    nutanix://cbba2fbd-6d93-49c1-bb68-5480cdb344fd
nkpw01-wgc9p-mrh4h              192.168.12.181   true    nutanix://43f4a9a9-1259-402b-aa3e-d8ba7fea9004

仮想マシン作成が完了したノード プールを、nkp CLI で確認した様子です。

[gowatana@lab-nkp-01 ~]$ nkp get nodepool --cluster-name=nkpw01 --namespace=nkpw01-gtwd6
NODEPOOL               DESIRED               READY               KUBERNETES VERSION
md-0                   1                     1                   v1.29.6
md-1                   1                     1                   v1.29.6

Kubernetes ノードは、3台構成(Worker が2台)になりました。

[gowatana@lab-nkp-01 ~]$ kubectl get nodes --kubeconfig=nkpw01-kubeconfig.yaml
NAME                            STATUS   ROLES           AGE     VERSION
nkpw01-md-0-cjx7p-mrdhb-vr4wv   Ready    <none>          41m     v1.29.6
nkpw01-md-1-brshf-jj9dk-rd9pp   Ready    <none>          4m13s   v1.29.6
nkpw01-wgc9p-mrh4h              Ready    control-plane   43m     v1.29.6

 

ノード プールの削除

ノード プールを削除する場合は、nkp delete nodepool コマンドを実行します。

[gowatana@lab-nkp-01 ~]$ nkp delete nodepool md-1 --cluster-name=nkpw01 --namespace=nkpw01-gtwd6
 ✓ Deleting nkpw01-gtwd6/md-1 nodepool resources

すぐに、ノード プール(と対応する仮想マシン)は削除されます。

[gowatana@lab-nkp-01 ~]$ nkp get nodepool --cluster-name=nkpw01 --namespace=nkpw01-gtwd6
NODEPOOL               DESIRED               READY               KUBERNETES VERSION
md-0                   1                     1                   v1.29.6

以上。

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。