Nutanix CE の Karbon で作成した Kubernetes の様子を、CLI(karbonctl)から確認してみます。情報を表示してみるクラスタは、以前の投稿(下記)で作成したものです。
karbonctl での Prism Central へのログイン
karbonctl は、Prism Central の CVM に SSH 接続して使用します。ただし PATH は通されていません。
Prism Central CVM には、nutanix ユーザ(デフォルト パスワードは nutanix/4u)でログインします。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ whoami nutanix nutanix@NTNX-192-168-20-15-A-PCVM:~$ echo $HOME /home/nutanix nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl help Karbonctl is a command line utility to manage your kubernetes clusters Usage: karbonctl [command] Available Commands: airgap Used for Karbon Airgap configuration cluster Used for kubernetes cluster specific operations help Help about any command k8s Used for getting the list of available K8s packages from the Nutanix Portal login Generate a karbonctl configuration to allow passwordless authentication to Karbon os-image Used for OS image management version Output of the karbonctl version information Flags: --config string Karbonctl configuration file path (default "/home/nutanix/.karbon/config/karbonctl.yaml") -h, --help help for karbonctl --output string Supported output formats: ['default', 'json'] (default "default") --pc-ip string Prism Central IP (default "127.0.0.1") --pc-password string Password of the user in Prism Central --pc-port int Prism port on the Prism Central VM (default 9440) --pc-username string Username of the user in Prism Central -t, --toggle Help message for toggle Use "karbonctl [command] --help" for more information about a command.
karbonctl のバージョンです。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl version { "version": "2.0.1", "build_date": "2020-02-28T17:06:29-0800", "githash": "9f91d61" }
これは CLI のバージョンで、Karbon のバージョンは異なります。Karbon は Prism Central で Docker コンテナとして起動されており、イメージのタグなどからバージョンを確認できます。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3051ed6bb7a karbon-ui:v2.0.2 "/start.sh" 2 days ago Up 2 days (healthy) karbon-ui c2d6bb1eee5e karbon-core:v2.0.2 "/start.sh" 2 days ago Up 2 days (healthy) karbon-core
ログインします。プロンプトは表示されませんが、「--pc-username」で指定した Prism Central ユーザのパスワードを入力します。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl login --pc-username admin Please enter the password for the PC user: admin Login successful
ログインに成功すると、ファイルが作成されます。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ cat /home/nutanix/.karbon/config/karbonctl.yaml ip: 127.0.0.1 port: 7050 tokenname: NTNX_IGW_SESSION tokenval: eyJ0eXXXXXXXXXXXXXXXXXXXXXXXXXXXwuhf7w expiry: 2020-12-12T00:18:30.489531987-08:00
karbon による Kubernetes クラスタの情報取得
Karbon で作成された Kubernetes クラスタの一覧です。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster list Name UUID Master IP Version OS Version Status Worker IPs dev-k8s-01 bbfdf33c-c8c7-401c-4242-13c18f625234 192.168.6.130 v1.16.8 ntnx-0.5 kSuccess 192.168.6.153
クラスタごとの情報取得は、デフォルトではあまり情報が表示されません。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster get --cluster-name dev-k8s-01 Name UUID Master IP Version OS Version Worker IPs dev-k8s-01 bbfdf33c-c8c7-401c-4242-13c18f625234 192.168.6.130 v1.16.8 ntnx-0.5 192.168.6.153
「--output json」オプションによる JSON フォーマットでの出力であれば、もう少し詳細な情報を取得できます。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster get --cluster-name dev-k8s-01 --output json { "Payload": { "addons_config": { "logging_config": { "state": "Enabled", "storage_size_mib": 32768, "version": "1.0.0" } }, "etcd_config": { "name": "dev-k8s-01", "nodes": [ { "name": "karbon-dev-k8s-01-7f7f5b-etcd-0", "node_pool_name": "dev-k8s-01-7f7f5b-etcd", "resource_config": { "cpu": 4, "disk_mib": 40960, "image": "a1d044af-6e31-4a2e-9950-be9f24691dde", "ip_address": "192.168.6.183", "memory_mib": 8192 }, "uuid": "337650ea-8230-491a-bd08-ab5e13e15bf1" } ], "num_instances": 1 }, "k8s_config": { "fqdn": "cluster.local", "master_config": { "deployment_type": "single", "external_ip": "192.168.6.130" }, "masters": [ { "name": "karbon-dev-k8s-01-bbfdf3-k8s-master-0", "node_pool_name": "dev-k8s-01-bbfdf3-k8s-master", "resource_config": { "cpu": 2, "disk_mib": 122880, "image": "ntnx-0.5", "ip_address": "192.168.6.130", "memory_mib": 4096 }, "uuid": "62986aeb-a679-49cc-b192-143aae92b9c9" } ], "network_cidr": "172.20.0.0/16", "network_subnet_len": 24, "os_flavor": "centos7.5.1804", "service_cluster_ip_range": "172.19.0.0/16", "version": "v1.16.8", "workers": [ { "health": "Healthy", "name": "karbon-dev-k8s-01-bbfdf3-k8s-worker-0", "node_pool_name": "dev-k8s-01-bbfdf3-k8s-worker", "resource_config": { "cpu": 4, "disk_mib": 122880, "image": "ntnx-0.5", "ip_address": "192.168.6.153", "memory_mib": 8192 }, "uuid": "99a38501-659c-4bf9-9321-3220ab7c4438" } ] }, "name": "dev-k8s-01", "uuid": "bbfdf33c-c8c7-401c-4242-13c18f625234" } }
kubeconfig の取得
Kubernetes クラスタに接続するための kubeconfig ファイルは、下記のように取得できます。出力された内容をファイルに保存しておくと、kubectl などでの接続で使用できます。
nutanix@NTNX-192-168-20-15-A-PCVM:~$ ./karbon/karbonctl cluster kubeconfig --cluster-name dev-k8s-01
以上。
つづきはこちら。