Tanzu Mission Control – Attach workload cluster

Reading Time: 2 mins


Tanzu Mission Control (TMC) provides a single control point for teams to more easily manage Kubernetes and operate modern, containerized applications across multiple clouds and clusters. TMC codifies the know-how of operating Kubernetes – including deploying and upgrading clusters, setting policies and configurations, understanding the health of clusters and the root cause of underlying issues.

Attach workload cluster

  • Login to TMC console > select organization (from dropdown of change organization)
  • Optional: Create a cluster group by navigating to > Cluster groups > Create cluster group : provide Name and optional fields Description and Labels > Create

  • Navigate to left menu Clusters > Attach cluster
  • Fill the details:
    • Name and assign
      • Cluster name:
      • Cluster group:
      • Description (optional):
      • Labels (optional):
      • NEXT

    • Proxy (Optional)
    • Install agent – Copy the command or expand the yaml to get the code and execute on workload cluster.
    • Successful installation of agents should show Success message

Command to attach workload cluster
# Ensure to point the current context to workload cluster that you are planning to attach in TMC: 

$ kubectl config current-context


$ kubectl create -f "https://<myorgname>.tmc.cloud.vmware.com/installer?id=5132419833edc44840da4d22b4c5d5eb77f58529463a3efa8b495&source=attach"
namespace/vmware-system-tmc created
configmap/stack-config created
secret/tmc-access-secret created
customresourcedefinition.apiextensions.k8s.io/agents.clusters.tmc.cloud.vmware.com created
customresourcedefinition.apiextensions.k8s.io/extensionconfigs.intents.tmc.cloud.vmware.com created
customresourcedefinition.apiextensions.k8s.io/extensionintegrations.clusters.tmc.cloud.vmware.com created
customresourcedefinition.apiextensions.k8s.io/extensionresourceowners.clusters.tmc.cloud.vmware.com created
customresourcedefinition.apiextensions.k8s.io/extensions.clusters.tmc.cloud.vmware.com created
serviceaccount/extension-manager created
clusterrole.rbac.authorization.k8s.io/extension-manager-role created
clusterrolebinding.rbac.authorization.k8s.io/extension-manager-rolebinding created
service/extension-manager-service created
deployment.apps/extension-manager created
serviceaccount/extension-updater-serviceaccount created
Warning: policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
podsecuritypolicy.policy/vmware-system-tmc-agent-restricted created
clusterrole.rbac.authorization.k8s.io/extension-updater-clusterrole created
clusterrole.rbac.authorization.k8s.io/vmware-system-tmc-psp-agent-restricted created
clusterrolebinding.rbac.authorization.k8s.io/extension-updater-clusterrolebinding created
clusterrolebinding.rbac.authorization.k8s.io/vmware-system-tmc-psp-agent-restricted created
service/extension-updater created
deployment.apps/extension-updater created
serviceaccount/agent-updater created
clusterrole.rbac.authorization.k8s.io/agent-updater-role created
clusterrolebinding.rbac.authorization.k8s.io/agent-updater-rolebinding created
deployment.apps/agent-updater created
Warning: batch/v1beta1 CronJob is deprecated in v1.21+, unavailable in v1.25+; use batch/v1 CronJob
cronjob.batch/agentupdater-workload created

# You should see a new namespace created and list the pods running in it. 
$ kubectl get pods -n vmware-system-tmc
NAME                                                           READY   STATUS      RESTARTS   AGE
agent-updater-78f44bb9bd-sc2r4                                 1/1     Running     0          5m24s
agentupdater-workload-27305676-hdvbb                           0/1     Completed   0          29s
cluster-auth-pinniped-d9f6fd94f-484kv                          1/1     Running     0          4m45s
cluster-auth-pinniped-d9f6fd94f-rz6mq                          1/1     Running     0          4m45s
cluster-auth-pinniped-kube-cert-agent-6fd799f8ff-vggxg         1/1     Running     0          4m29s
cluster-health-extension-755c5bf45d-jc2ms                      1/1     Running     0          4m39s
extension-manager-f78b7776d-v82kt                              1/1     Running     0          5m24s
extension-updater-78d7fbc788-spzbc                             1/1     Running     0          5m24s
gatekeeper-operator-manager-bb7cbf6f6-jz988                    1/1     Running     0          4m35s
inspection-extension-5c7567d669-qxfjd                          1/1     Running     0          4m37s
intent-agent-76655f5466-kt5xn                                  1/1     Running     0          4m45s
logs-collector-cluster-health-extension-20211201063211-rt6kz   0/1     Completed   0          4m18s
logs-collector-extension-manager-20211201063211-s2xx7          0/1     Completed   0          4m18s
logs-collector-gatekeeper-operator-20211201063210-4nzvn        0/1     Completed   0          4m19s
logs-collector-inspection-20211201063210-crbxw                 0/1     Completed   0          4m19s
logs-collector-policy-insight-extension-20211201063210-lxv68   0/1     Completed   0          4m19s
logs-collector-policy-sync-extension-20211201063210-sqqq4      0/1     Completed   0          4m19s
logs-collector-tmc-observer-20211201063210-5c2nd               0/1     Completed   0          4m19s
policy-insight-extension-manager-5858b4dc68-d4hdp              1/1     Running     0          4m35s
policy-sync-extension-79cfdf9cdf-c6zxt                         1/1     Running     0          4m41s
sync-agent-6459758b96-ldwp6                                    1/1     Running     0          4m40s
tmc-observer-67cb4c7fc8-7fm4l                                  1/1     Running     0          4m35s

Verify the cluster

  • Navigate to TMC Console > Clusters > click on cluster

  • Dashboard shows lot of info about Nodes, workloads, Namespaces, pods and containers metrics etc ..
  • You can use this TMC console to centrally manage the clusters across multiple clouds with ease.

Demo Video

Reading Time: 2 minutes

Leave a Reply