Nutanix Kubernetes Engine(NKE)の karbonctl による Kubernetes クラスタ作成で、JSON ファイルを使用してみます。
今回の前提
下記のように、Prism Central で NKE を有効化してあります。
karbonctl でのクラスタ作成は、下記のように実行します。
NKE クラスタの JSON ファイル
「karbonctl cluster create」コマンドでは、「-f」オプションで JSON ファイルを指定できます。この JSON ファイルは、karbonctl cluster create を実行したときに生成される JSON ファイルを編集して用意します。
nke-01.json
- L5: クラスタの名前として nke-01 を指定(デフォルトは nke-cluster)
- L16, L33: Control Plane / etcd ノード数は1(Development Cluster)
- L50: Worker ノード数は3(デフォルトは 1)
- L18, L35, L52, L67: クラスタを作成する Nutanix クラスタを UUID で指定
JSON ファイルで指定する UUID は、Prism Element、ncli、acli などで確認できます。
Nutanix Cluster の UUID(prism_element_cluster_uuid)は、Prism Element の「設定」→「クラスタ詳細」などから確認できます。

ネットワーク UUID(network_uuid)は、acli などで確認できます。
nutanix@NTNX-ada150bf-A-CVM:192.168.20.42:~$ acli net.list Network name Network UUID Type Identifier Virtual Switch Subnet nw-vlan-12 d4cd4cec-8520-449d-8bbd-059da864e743 kBridged 12 vs0 192.168.12.0/24 nw-vlan-20 af6981a6-12ff-4c18-8fbd-a1167e26aee2 kBridged 20 vs0
karbonctl での NKE クラスタ作成(JSON 利用)
karbonctl で JSON ファイルを指定してKubernetes クラスタを作成するには、下記のようにコマンドを実行します。
./karbon/karbonctl cluster create -f <JSON ファイル> --override
コマンドを実行すると、作成されるクラスタの JSON が表示され、確認メッセージが表示されます。このとき「--override」オプションを指定することで、デフォルト値を上書きできます。表示される JSON の内容に、指定した JSON ファイルの内容が含まれていることを確認します。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster create -f nke-01.json --override
Please confirm the following configuration before cluster create operation:
{
"metadata": {
"api_version": "v1.0.0"
},
"name": "nke-01",
"version": "1.26.8-0",
"apiserver_sni": null,
"categories": null,
"disable_monitoring": true,
"masters_config": {
"single_master_config": {},
"node_pools": [
{
"name": "nke-01-master-pool",
"node_os_version": "ntnx-1.6.1",
"num_instances": 1,
"ahv_config": {
"prism_element_cluster_uuid": "00060d95-43ae-bb50-3641-00505681a7a8",
"cpu": 8,
"memory_mib": 8192,
"disk_mib": 122880,
"network_uuid": "d4cd4cec-8520-449d-8bbd-059da864e743"
},
"gpu_config_list": null
}
]
},
"etcd_config": {
"node_pools": [
{
"name": "nke-01-etcd-pool",
"node_os_version": "ntnx-1.6.1",
"num_instances": 1,
"ahv_config": {
"prism_element_cluster_uuid": "00060d95-43ae-bb50-3641-00505681a7a8",
"cpu": 4,
"memory_mib": 8192,
"disk_mib": 40960,
"network_uuid": "d4cd4cec-8520-449d-8bbd-059da864e743"
},
"gpu_config_list": null
}
]
},
"workers_config": {
"node_pools": [
{
"name": "nke-01-worker-pool",
"node_os_version": "ntnx-1.6.1",
"num_instances": 3,
"ahv_config": {
"prism_element_cluster_uuid": "00060d95-43ae-bb50-3641-00505681a7a8",
"cpu": 8,
"memory_mib": 8192,
"disk_mib": 122880,
"network_uuid": "d4cd4cec-8520-449d-8bbd-059da864e743"
},
"gpu_config_list": null
}
]
},
"storage_class_config": {
"name": "default-storageclass",
"default_storage_class": true,
"reclaim_policy": "Delete",
"volumes_config": {
"prism_element_cluster_uuid": "00060d95-43ae-bb50-3641-00505681a7a8",
"storage_container": "default-container-36059869276876",
"file_system": "ext4"
}
},
"cni_config": {
"service_ipv4_cidr": "172.19.0.0/16",
"pod_ipv4_cidr": "172.20.0.0/16",
"node_cidr_mask_size": 24,
"calico_config": {
"ip_pool_configs": [
{
"cidr": "172.20.0.0/16"
}
]
}
}
}
Do you want to create cluster? Y/[N]:
「Y」を入力して Enter キーを押すと、クラスタ作成が開始されます。
Do you want to create cluster? Y/[N]:Y Successfully submitted create k8s cluster request
しばらく待つと、NKE によるクラスタが作成されます。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster list Name UUID IsManagement Control Plane IPs (VIP) Version OS Version Status Worker IPs nke-01 5ff4726f-255e-45b4-7dd4-82cb53413b06 false 192.168.12.114 1.26.8-0 ntnx-1.6.1 kSuccess 192.168.12.116, 192.168.12.127, 192.168.12.111
以上。
