Nutanix Kubernetes Platformï¼NKPï¼v2.12 ã§ãnkp CLI ãã Workload Cluster ãä½æãã¦ã¿ã¾ãã
- ä»åã®ç°å¢
- Workload Cluster ã®ä½æï¼nkp CLIï¼
- kubeconfig ã®å ¥æ
- Worklaod Cluster ã®åé¤ï¼nkp CLIï¼
ä»åã®ç°å¢
NKP ã® Management Cluster ã¯ãä¸è¨ã®ããã«ä½æãã¦ããã¾ãã
ãã®æç¹ã§ã® Management Cluster ã®æ§åã確èªãã¦ããã¾ããkubeconfig ãã¡ã¤ã«ããKUBECONFIG ç°å¢å¤æ°ã«æå®ãã¾ãã
[gowatana@lab-nkp-01 ~]$ export KUBECONFIG=$(pwd)/nkpm01.conf
ç¾å¨ã®ã³ã³ããã¹ãã¯ãManagement Cluster ã«ãªã£ã¦ãã¾ãã
[gowatana@lab-nkp-01 ~]$ kubectl config current-context nkpm01-admin@nkpm01
Management Cluster ã®ãã¼ãæ å ±ãåå¾ã§ãã¦ãã¾ãã
[gowatana@lab-nkp-01 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION nkpm01-md-0-g7fsx-h4r2t-hvd2c Ready <none> 2d16h v1.29.6 nkpm01-md-0-g7fsx-h4r2t-ll8zf Ready <none> 2d16h v1.29.6 nkpm01-qfxvt-9sq92 Ready control-plane 2d16h v1.29.6
ãã®ã¯ã©ã¹ã¿ã¯ãManagement Cluster ã§ãã
[gowatana@lab-nkp-01 ~]$ nkp cluster type Management
ãã®æç¹ã§ã¯ãManagement Cluster ã®ã¿ãä½æããã¦ãã¾ãã
[gowatana@lab-nkp-01 ~]$ nkp get clusters -A WORKSPACE NAME KUBECONFIG kommander-workspace host-cluster kommander-self-attach-kubeconfig Joined
Workload Cluster ã®ä½æï¼nkp CLIï¼
ã¾ããPrism Centarl ã®æ¥ç¶æ å ±ãç°å¢å¤æ°ã¨ãã¦è¨å®ãã¦ããã¾ãã
export NUTANIX_USER=admin export NUTANIX_PASSWORD='ãã¹ã¯ã¼ã'
Management Clusterï¼nkpm01ï¼ã«æ¥ç¶ã§ããç¶æ ã§ãä¸è¨ã®ããã« nkp create cluster nutanix ã³ãã³ããå®è¡ãã¾ãã
- Management Cluster ä½ææã¨ã¯ç°ãªããã--self-managedãã¯æå®ãã¾ããã
- ãã©ã¡ã¼ã¿ã¯ã以åã®æ稿 ã§ããã·ã¥ãã¼ãããä½æããã¯ã©ã¹ã¿ ã«åããã¦ããã¾ãã
nkp create cluster nutanix \ --endpoint=https://lab-nxpc-01.go-lab.jp:9440 \ --insecure \ --control-plane-prism-element-cluster=lab-nxce-02 \ --worker-prism-element-cluster=lab-nxce-02 \ --control-plane-subnets=nw-vlan-12 \ --worker-subnets=nw-vlan-12 \ --cluster-name=nkpw01 \ --control-plane-endpoint-ip=192.168.12.205 \ --control-plane-vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \ --worker-vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \ --kubernetes-service-load-balancer-ip-range=192.168.12.206-192.168.12.209 \ --kubernetes-pod-network-cidr=172.16.0.0/16 \ --kubernetes-service-cidr=10.96.0.0/12 \ --csi-hypervisor-attached-volumes=true \ --csi-storage-container=default-container-88443613598780 \ --ssh-public-key-file=$HOME/.ssh/id_rsa.pub \ --control-plane-replicas=1 \ --control-plane-vcpus=2 \ --control-plane-memory=4 \ --worker-replicas=1 \ --worker-vcpus=2 \ --worker-memory=2
å®éã« nkp ã³ãã³ããå®è¡ããã¨ãä¸è¨ã®ããã«ãªãã¾ãã
[gowatana@lab-nkp-01 ~]$ nkp create cluster nutanix \ > --endpoint=https://lab-nxpc-01.go-lab.jp:9440 \ > --insecure \ > --control-plane-prism-element-cluster=lab-nxce-02 \ > --worker-prism-element-cluster=lab-nxce-02 \ > --control-plane-subnets=nw-vlan-12 \ > --worker-subnets=nw-vlan-12 \ > --cluster-name=nkpw01 \ > --control-plane-endpoint-ip=192.168.12.205 \ > --control-plane-vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \ > --worker-vm-image=nkp-rocky-9.4-release-1.29.6-20240816215147.qcow2 \ > --kubernetes-service-load-balancer-ip-range=192.168.12.206-192.168.12.209 \ > --kubernetes-pod-network-cidr=172.16.0.0/16 \ > --kubernetes-service-cidr=10.96.0.0/12 \ > --csi-hypervisor-attached-volumes=true \ > --csi-storage-container=default-container-88443613598780 \ > --ssh-public-key-file=$HOME/.ssh/id_rsa.pub \ > --control-plane-replicas=1 \ > --control-plane-vcpus=2 \ > --control-plane-memory=4 \ > --worker-replicas=1 \ > --worker-vcpus=2 \ > --worker-memory=2 Generating cluster resources namespace/nkpw01-zmwt9 created cluster.cluster.x-k8s.io/nkpw01 created secret/nkpw01-pc-credentials created secret/nkpw01-pc-credentials-for-csi created workspace.workspaces.kommander.mesosphere.io/nkpw01-88zk2 created â Waiting for cluster infrastructure to be ready â Waiting for cluster control-planes to be ready â Waiting for machines to be ready [gowatana@lab-nkp-01 ~]$
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-88zk2 nkpw01 nkpw01-kubeconfig Joined
Cluster API ã®ã¯ã©ã¹ã¿ã¯ãnkpw01-zmwt9 Namespace ã«ä½æããã¾ããã
[gowatana@lab-nkp-01 ~]$ kubectl get cluster -A NAMESPACE NAME CLUSTERCLASS PHASE AGE VERSION default nkpm01 nkp-nutanix Provisioned 2d17h v1.29.6 nkpw01-zmwt9 nkpw01 nkp-nutanix Provisioned 20m v1.29.6
NKP ã®ããã·ã¥ãã¼ãã«ãããã®ã¯ã©ã¹ã¿ã表示ããã¾ãã
kubeconfig ã®å ¥æ
ãªãã nkp get kubeconfig ã³ãã³ã㧠kubeconfig ãåå¾ã§ããªãã£ãã®ã§ãä»å㯠Secret ããç´æ¥åå¾ãã¾ãã
ãã® Workload Cluster ã«å¯¾å¿ãã Cluster ãªã½ã¼ã¹ã® Namespace ã§ãSecret ã®ä¸è¦§ãã確èªããã¨ããï¼ã¯ã©ã¹ã¿åï¼-kubeconfigãã¨ãã Secret ãä½æããã¦ãã¾ãã
[gowatana@lab-nkp-01 ~]$ kubectl get secrets -n nkpw01-zmwt9 NAME TYPE DATA AGE kommander-karma-server-tls kubernetes.io/tls 4 21m kommander-kubecost-thanos-server-tls kubernetes.io/tls 4 21m kommander-thanos-server-tls kubernetes.io/tls 4 21m nkpw01-ca cluster.x-k8s.io/secret 2 21m nkpw01-encryption-config Opaque 1 21m nkpw01-etcd cluster.x-k8s.io/secret 2 21m nkpw01-kubeconfig cluster.x-k8s.io/secret 1 21m nkpw01-md-0-b6nnk-vtm8b-gw6hp cluster.x-k8s.io/secret 2 19m nkpw01-pbrn5-n72cj cluster.x-k8s.io/secret 2 21m nkpw01-pc-credentials Opaque 1 21m nkpw01-pc-credentials-for-csi Opaque 1 21m nkpw01-proxy cluster.x-k8s.io/secret 2 21m nkpw01-sa cluster.x-k8s.io/secret 2 21m sh.helm.release.v1.ca-01921d49-47ab-739a-84ac-d2be8113166c.v1 helm.sh/release.v1 1 19m sh.helm.release.v1.cluster-observer-3282254118.v1 helm.sh/release.v1 1 20m sh.helm.release.v1.karma-traefik-certs.v1 helm.sh/release.v1 1 21m sh.helm.release.v1.kubecost-traefik-certs.v1 helm.sh/release.v1 1 21m sh.helm.release.v1.prometheus-traefik-certs.v1 helm.sh/release.v1 1 21m tls-root-ca Opaque 1 21m
nkpw01-kubeconfig Secret ã«å«ã¾ãã kubeconfig ã®ãã¼ã¿ããBase64 ã§ãã³ã¼ããã¦ãã¡ã¤ã«ã«ä¿åãã¾ãã
[gowatana@lab-nkp-01 ~]$ kubectl get secrets -n nkpw01-zmwt9 nkpw01-kubeconfig -o jsonpath={.data.value} | base64 -d > $HOME/nkpw01-kubeconfig
ããã§ãkubeconfig ãã¡ã¤ã«ãå ¥æã§ãã¾ããã
[gowatana@lab-nkp-01 ~]$ kubectl --kubeconfig $HOME/nkpw01-kubeconfig config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://192.168.12.205:6443 name: nkpw01 contexts: - context: cluster: nkpw01 user: nkpw01-admin name: nkpw01-admin@nkpw01 current-context: nkpw01-admin@nkpw01 kind: Config preferences: {} users: - name: nkpw01-admin user: client-certificate-data: DATA+OMITTED client-key-data: DATA+OMITTED
kubectl ãã Workload Cluster ã«æ¥ç¶ã§ãã¾ããã
[gowatana@lab-nkp-01 ~]$ kubectl --kubeconfig $HOME/nkpw01-kubeconfig get nodes NAME STATUS ROLES AGE VERSION nkpw01-md-0-b6nnk-vtm8b-gw6hp NotReady <none> 21m v1.29.6 nkpw01-pbrn5-n72cj Ready control-plane 23m v1.29.6
nkp cluster type ã³ãã³ãã§ã¯ãä»åä½æãã Workload Cluster ã¯ãAttachedãã¨è¡¨ç¤ºããã¾ãã
[gowatana@lab-nkp-01 ~]$ nkp cluster type --kubeconfig $HOME/nkpw01-kubeconfig Attached
ã¡ãªã¿ã« kubeconfig ãã¡ã¤ã«ã¯ãnkp ã³ãã³ãã§ä½æãã Workload Cluster ã§ãããã·ã¥ãã¼ãããå ¥æã§ãã¾ãã
Worklaod Cluster ã®åé¤ï¼nkp CLIï¼
nkp delete cluster ã®ã¯ã©ã¹ã¿åé¤ã¯ãManagement Cluster ã«æ¥ç¶ãã¦å®è¡ãã¾ãããã®ã¨ããWorkspace ã§ã¯ãªã Namespace ãæå®ãã¾ãã
[gowatana@lab-nkp-01 ~]$ nkp delete cluster --namespace=nkpw01-zmwt9 --cluster-name=nkpw01 â Deleting cluster resources â Waiting for cluster to be fully deleted Deleted nkpw01-zmwt9/nkpw01 cluster
以ä¸ã