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
以上。