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 21 pod entries:
kubectl get pods -n kcm-system
NAME                                                           READY   STATUS    RESTARTS   AGE
azureserviceoperator-controller-manager-6b4dd86894-4dpfc       1/1     Running   0          7m15s
capa-controller-manager-64bbcb9f8-ltj6z                        1/1     Running   0          6m58s
capd-controller-manager-7586b6577c-6w4wq                       1/1     Running   0          7m11s
capg-controller-manager-774958b9b9-hvxvv                       1/1     Running   0          6m54s
capi-controller-manager-5b67d4fc7-dhk7p                        1/1     Running   0          8m49s
capo-controller-manager-6f98bb68cd-vsc24                       1/1     Running   0          6m33s
capv-controller-manager-69f7fc65d8-jx8s4                       1/1     Running   0          6m40s
capz-controller-manager-5b87fdf745-mzm7x                       1/1     Running   0          7m15s
helm-controller-746d7db585-x64ld                               1/1     Running   0          11m
k0smotron-controller-manager-bootstrap-67dd88d848-wfrhm        2/2     Running   0          8m32s
k0smotron-controller-manager-control-plane-657f5578d4-7vb8t    2/2     Running   0          8m24s
k0smotron-controller-manager-infrastructure-5867d575f9-t28hp   2/2     Running   0          6m46s
kcm-cert-manager-6979c67bc4-b6s4w                              1/1     Running   0          11m
kcm-cert-manager-cainjector-5b97c84fdb-kdsw5                   1/1     Running   0          11m
kcm-cert-manager-webhook-755796f599-q6727                      1/1     Running   0          11m
kcm-cluster-api-operator-65c8f75569-rfsp2                      1/1     Running   0          9m30s
kcm-controller-manager-68b56bff85-6fmsp                        1/1     Running   0          9m30s
kcm-velero-67bf545995-x6784                                    1/1     Running   0          11m
source-controller-74b597b995-kkqqw                             1/1     Running   0          11m
kubectl get pods -n kcm-system --no-headers | wc -l
21
State management is handled by Project Sveltos, so you'll want to make sure that all 10 pods are running/completed in the projectsveltos namespace:
kubectl get pods -n projectsveltos
NAME                                      READY   STATUS    RESTARTS   AGE
access-manager-6696df779-pnxjx            1/1     Running   0          10m
addon-controller-6cb6c5f6df-zmfch         1/1     Running   0          10m
classifier-manager-5b47b66fc9-5mtwl       1/1     Running   0          10m
event-manager-564d6644b4-wr9cq            1/1     Running   0          10m
hc-manager-7c56c59d9c-w5gds               1/1     Running   0          10m
sc-manager-6798cd9d4d-r7z9j               1/1     Running   0          10m
shard-controller-797965bb58-65lmp         1/1     Running   0          10m
sveltos-agent-manager-5445f6f57c-wxw2s    1/1     Running   0          10m
techsupport-controller-5b666d6884-jfqnp   1/1     Running   0          10m
kubectl get pods -n projectsveltos --no-headers | wc -l
9
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 that k0rdent itself is ready#
The actual measure of whether k0rdent is ready is the state of the Management object. To check, issue this command:
kubectl get Management -n kcm-system
NAME   READY   RELEASE     AGE
kcm    True    kcm-1-5-0   9m
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-0-7                                 true
cluster-api-provider-aws-1-0-7                    true
cluster-api-provider-azure-1-0-9                  true
cluster-api-provider-docker-1-0-5                 true
cluster-api-provider-gcp-1-0-6                    true
cluster-api-provider-infoblox-1-0-2               true
cluster-api-provider-ipam-1-0-3                   true
cluster-api-provider-k0sproject-k0smotron-1-0-11   true
cluster-api-provider-openstack-1-0-10              true
cluster-api-provider-vsphere-1-0-6                true
k0smotron-1-0-11                                   true
kcm-1-5-0                                         true
kcm-regional-1-0-5                                true
projectsveltos-1-1-1                             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-7            true
aws-eks-1-0-3                    true
aws-hosted-cp-1-0-16             true
aws-standalone-cp-1-0-16         true
azure-aks-1-0-1                  true
azure-hosted-cp-1-0-19           true
azure-standalone-cp-1-0-17       true
docker-hosted-cp-1-0-19          true
gcp-gke-1-0-3                    true
gcp-hosted-cp-1-0-16             true
gcp-standalone-cp-1-0-16         true
openstack-hosted-cp-1-0-17       true
openstack-standalone-cp-1-0-17   true
remote-cluster-1-0-15            true
vsphere-hosted-cp-1-0-15         true
vsphere-standalone-cp-1-0-15     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-5-0   18m