NTNX>日記

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

Nutanix CE 5.18 で Karbon を有効化してみる。(karbonctl での情報確認編)

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

以上。

つづきはこちら。

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