Confirming the deployment#
Note
After running the helm install command, please wait 5 to 10 minutes for the deployment to stabilize.
To understand whether installation is complete, start by making sure all pods are ready in the kcm-system namespace. There should be 27 pod entries:
kubectl get pods -n kcm-system
NAME READY STATUS RESTARTS AGE
azureserviceoperator-controller-manager-557c4bc8dc-hs26b 1/1 Running 0 20h
azureserviceoperator-controller-manager-557c4bc8dc-wwxzr 1/1 Running 0 20h
capa-controller-manager-58554ddc78-htjst 1/1 Running 0 20h
capd-controller-manager-659885cb55-2ns4b 1/1 Running 0 20h
capg-controller-manager-7bc675f69b-x7wrz 1/1 Running 0 20h
capi-controller-manager-78bdccfb94-kcddw 1/1 Running 0 20h
capi-ipam-in-cluster-controller-manager-56c7bd877c-62bvk 1/1 Running 0 20h
capi-ipam-infoblox-controller-manager-548877ddb5-58pzg 1/1 Running 0 20h
capk-controller-manager-56d4bd4ccd-6z57q 1/1 Running 0 20h
capo-controller-manager-7f77d84c58-fvv2n 1/1 Running 0 20h
capv-controller-manager-64664f5cf4-9xsrp 1/1 Running 0 20h
capz-controller-manager-669dffc9c7-7jssw 1/1 Running 0 20h
helm-controller-5466948d9f-vsr7v 1/1 Running 0 20h
k0smotron-controller-manager-bootstrap-5686664764-4ssh4 1/1 Running 0 20h
k0smotron-controller-manager-control-plane-6456dfd98-rq6xw 1/1 Running 0 20h
k0smotron-controller-manager-infrastructure-8479cbc858-2mv9x 1/1 Running 0 20h
kcm-cert-manager-76c7bcbcff-twckq 1/1 Running 0 20h
kcm-cert-manager-cainjector-66c48469bb-dz99n 1/1 Running 0 20h
kcm-cert-manager-webhook-f6587877f-vxpdw 1/1 Running 0 20h
kcm-cluster-api-operator-684db579d6-m6gpq 1/1 Running 0 20h
kcm-controller-manager-fbc544dcb-k474v 1/1 Running 0 20h
kcm-rbac-manager-7579db64d9-fltlw 1/1 Running 0 20h
kcm-regional-telemetry-777886fdd-vmqtc 1/1 Running 0 20h
kcm-reloader-fc9cbb8cf-bgq8b 1/1 Running 0 20h
orc-controller-manager-6fb5b76975-4pg7g 1/1 Running 0 20h
source-controller-597784bdbb-8mb9g 1/1 Running 0 20h
velero-5c95c499cf-jblr2 1/1 Running 0 20h
kubectl get pods -n kcm-system --no-headers | wc -l
27
State management is handled by Project Sveltos, so you'll want to make sure that all 11 pods are running/completed in the projectsveltos namespace:
kubectl get pods -n projectsveltos
NAME READY STATUS RESTARTS AGE
access-manager-84d4d7747d-c8hqk 1/1 Running 0 6h31m
addon-controller-54b9c4f974-vfsg6 1/1 Running 0 6h30m
classifier-manager-6556b9d7c7-5gk7f 1/1 Running 0 6h31m
event-manager-5548b4f698-dz9h2 1/1 Running 0 6h31m
hc-manager-7bd8cff8c-mf6fr 1/1 Running 0 6h31m
mcp-server-554f4799b9-f8hgh 1/1 Running 0 6h31m
sc-manager-567cc8f5d7-kgj95 1/1 Running 0 6h31m
shard-controller-7bcb99dbf7-qwd7r 1/1 Running 0 6h31m
sveltos-agent-manager-6c68cf498c-t4xl6 1/1 Running 0 6h30m
techsupport-controller-7b5bd7d4c7-gsv5k 1/1 Running 0 6h31m
kubectl get pods -n projectsveltos --no-headers | wc -l
10
If any of these pods are missing, simply give k0rdent more time. If there's a problem, you'll see pods crashing and restarting, and you can see what's happening by describing the pod, as in:
kubectl describe pod classifieclassifier-manager-5b47b66fc9-5mtwl -n projectsveltos
As long as you're not seeing pod restarts, you just need to wait a few minutes.
Verify the templates#
Next verify whether the KCM templates have been successfully installed and reconciled. Start with the ProviderTemplate objects:
kubectl get providertemplate -n kcm-system
NAME VALID
cluster-api-1-1-13 true
cluster-api-provider-aws-1-0-22 true
cluster-api-provider-azure-1-0-27 true
cluster-api-provider-docker-1-0-20 true
cluster-api-provider-gcp-1-0-20 true
cluster-api-provider-infoblox-1-0-11 true
cluster-api-provider-ipam-1-0-12 true
cluster-api-provider-k0sproject-k0smotron-1-0-24 true
cluster-api-provider-openstack-1-0-25 true
cluster-api-provider-vsphere-1-0-19 true
kcm-1-10-0 true
kcm-regional-1-10-0 true
projectsveltos-1-9-0 true
Make sure that all templates are not just installed, but valid. Again, this may take a few minutes.
You'll also want to make sure the ClusterTemplate objects are installed and valid:
kubectl get clustertemplate -n kcm-system
NAME VALID
adopted-cluster-1-0-2 true
aws-eks-1-0-10 true
aws-hosted-cp-1-0-36 true
aws-standalone-cp-1-0-34 true
azure-aks-1-0-8 true
azure-hosted-cp-1-0-39 true
azure-standalone-cp-1-0-36 true
docker-hosted-cp-1-0-39 true
gcp-gke-1-0-10 true
gcp-hosted-cp-1-0-36 true
gcp-standalone-cp-1-0-34 true
openstack-hosted-cp-1-0-37 true
openstack-standalone-cp-1-0-37 true
remote-cluster-1-0-29 true
vsphere-hosted-cp-1-0-34 true
vsphere-standalone-cp-1-0-33 true
Verify k0rdent status#
The final test of whether k0rdent installation is installed is making sure the
status of the Management object itself is True:
kubectl get management -n kcm-system
NAME READY RELEASE AGE
kcm True kcm-1-10-0 18m