Skip to content

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-58bb68bc75-9ml6f       1/1     Running   0          8h
capa-controller-manager-d84cc5796-86wf7                        1/1     Running   0          8h
capd-controller-manager-74b8c9f576-m8dxk                       1/1     Running   0          8h
capg-controller-manager-7f8bc6699f-lb988                       1/1     Running   0          8h
capi-controller-manager-79db96b978-68wtf                       1/1     Running   0          8h
capi-ipam-in-cluster-controller-manager-68d4694bb4-kmrp5       1/1     Running   0          8h
capi-ipam-infoblox-controller-manager-5c76bc45b-brrtv          1/1     Running   0          8h
capk-controller-manager-d95b4487b-ldcrr                        1/1     Running   0          8h
capo-controller-manager-b5b5c65bd-h59wx                        1/1     Running   0          8h
capv-controller-manager-5c47d75597-lkgrh                       1/1     Running   0          8h
capz-controller-manager-b7dbff77-fbc2r                         1/1     Running   0          8h
helm-controller-76bd49f44b-fbnhj                               1/1     Running   0          8h
k0smotron-controller-manager-bootstrap-5cd9cb9b75-2q2kj        1/1     Running   0          8h
k0smotron-controller-manager-control-plane-7776f8f694-78knr    1/1     Running   0          8h
k0smotron-controller-manager-infrastructure-5cdbc6b6d5-s4ppb   1/1     Running   0          8h
kcm-cert-manager-67f468cb5d-rr4fq                              1/1     Running   0          8h
kcm-cert-manager-cainjector-5b669dfcc-cjb54                    1/1     Running   0          8h
kcm-cert-manager-webhook-575596f6b6-qf8s9                      1/1     Running   0          8h
kcm-cluster-api-operator-7d86849496-g74v2                      1/1     Running   0          8h
kcm-controller-manager-86d748b49c-znmb8                        1/1     Running   0          8h
kcm-rbac-manager-bdf9b4b8-9shrs                                1/1     Running   0          8h
kcm-regional-telemetry-8499966b87-54hf6                        1/1     Running   0          8h
source-controller-694fb4cd65-4jskk                             1/1     Running   0          8h
velero-699d774b66-xqwqv                                        1/1     Running   0          8h
kubectl get pods -n kcm-system --no-headers | wc -l
24

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-74b7c98d8b-npj6t           1/1     Running   0          20m
addon-controller-6ddb848fdf-5vpnc         1/1     Running   0          20m
classifier-manager-57d5779966-ft9vs       1/1     Running   0          20m
event-manager-5569df975f-4cgrf            1/1     Running   0          20m
hc-manager-66c559fff6-l6xnx               1/1     Running   0          20m
mcp-server-55459fdccf-sg4lj               1/1     Running   0          20m
sc-manager-56ccc48477-lvz66               1/1     Running   0          20m
shard-controller-6b65cd4f8f-kmpps         1/1     Running   0          20m
sveltos-agent-manager-97d78f4bb-hqjm6     1/1     Running   0          19m
techsupport-controller-797459769b-wwg6h   1/1     Running   0          20m
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-2                                 true
cluster-api-provider-aws-1-0-12                   true
cluster-api-provider-azure-1-0-14                 true
cluster-api-provider-docker-1-0-9                 true
cluster-api-provider-gcp-1-0-9                    true
cluster-api-provider-infoblox-1-0-5               true
cluster-api-provider-ipam-1-0-6                   true
cluster-api-provider-k0sproject-k0smotron-1-0-16  true
cluster-api-provider-openstack-1-0-15             true
cluster-api-provider-vsphere-1-0-10               true
kcm-1-7-0                                         true
kcm-regional-1-7-0                                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-1-2            true
aws-eks-1-0-4                    true
aws-hosted-cp-1-0-21             true
aws-standalone-cp-1-0-20         true
azure-aks-1-0-2                  true
azure-hosted-cp-1-0-23           true
azure-standalone-cp-1-0-20       true
docker-hosted-cp-1-0-23          true
gcp-gke-1-0-4                    true
gcp-hosted-cp-1-0-21             true
gcp-standalone-cp-1-0-20         true
openstack-hosted-cp-1-0-22       true
openstack-standalone-cp-1-0-22   true
remote-cluster-1-0-19            true
vsphere-hosted-cp-1-0-19         true
vsphere-standalone-cp-1-0-18     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-7-0   18m