Reading Time: 2 mins
Scale management clusters:
If you have deployed a development management cluster, like I did while creating i.e., with 1 control and worker nodes. You can scale the management clusters to production cluster type anytime using simple commands. In this post, I have covered manual scaling, but there is also auto scaling feature available in TKG on Azure which I will covering in other post.
Similar way, scaling down is also possible for both management and workload clusters.
Before Scaling:
reddye@reddye-a02 ~ % tanzu management-cluster get
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES
capv-mgmt tkg-system running 1/1 1/1 v1.21.2+vmware.1 management
Details:
NAME READY SEVERITY REASON SINCE MESSAGE
/capv-mgmt True 3m9s
├─ClusterInfrastructure - AzureCluster/capv-mgmt True 3m13s
├─ControlPlane - KubeadmControlPlane/capv-mgmt-control-plane True 3m9s
│ └─Machine/capv-mgmt-control-plane-lvglk True 3m12s
└─Workers
└─MachineDeployment/capv-mgmt-md-0
└─Machine/capv-mgmt-md-0-57db8c6b48-9t5s2 True 3m12s
Providers:
NAMESPACE NAME TYPE PROVIDERNAME VERSION WATCHNAMESPACE
capi-kubeadm-bootstrap-system bootstrap-kubeadm BootstrapProvider kubeadm v0.3.23
capi-kubeadm-control-plane-system control-plane-kubeadm ControlPlaneProvider kubeadm v0.3.23
capi-system cluster-api CoreProvider cluster-api v0.3.23
capz-system infrastructure-azure InfrastructureProvider azure v0.4.15
#Management cluster scaling syntax
tanzu cluster scale {management_cluster_name} --controlplane-machine-count {number} --worker-machine-count {number}
reddye@reddye-a02 scripts % tanzu cluster scale capv-mgmt --controlplane-machine-count 3 --worker-machine-count 3
Successfully updated control plane replica count for cluster capv-mgmt
Successfully updated worker node machine deployment replica count for cluster capv-mgmt
Workload cluster 'capv-mgmt' is being scaled
reddye@reddye-a02 scripts % tanzu mc get
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES
capv-mgmt tkg-system updating 1/3 3/3 v1.21.2+vmware.1 management
After Scaling:
reddye@reddye-a02 scripts % tanzu mc get
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES
capv-mgmt tkg-system running 3/3 3/3 v1.21.2+vmware.1 management
Details:
NAME READY SEVERITY REASON SINCE MESSAGE
/capv-mgmt True 99s
├─ClusterInfrastructure - AzureCluster/capv-mgmt True 46h
├─ControlPlane - KubeadmControlPlane/capv-mgmt-control-plane True 99s
│ └─3 Machines... True 3m42s See capv-mgmt-control-plane-7v5cw, capv-mgmt-control-plane-htg2d, ...
└─Workers
└─MachineDeployment/capv-mgmt-md-0
└─3 Machines... True 46h See capv-mgmt-md-0-57db8c6b48-9pms4, capv-mgmt-md-0-57db8c6b48-9t5s2, ...
Providers:
NAMESPACE NAME TYPE PROVIDERNAME VERSION WATCHNAMESPACE
capi-kubeadm-bootstrap-system bootstrap-kubeadm BootstrapProvider kubeadm v0.3.23
capi-kubeadm-control-plane-system control-plane-kubeadm ControlPlaneProvider kubeadm v0.3.23
capi-system cluster-api CoreProvider cluster-api v0.3.23
capz-system infrastructure-azure InfrastructureProvider azure v0.4.15
Scale Down:
reddye@reddye-a02 scripts % tanzu cluster scale capv-mgmt --controlplane-machine-count 1 --worker-machine-count 1
Successfully updated control plane replica count for cluster capv-mgmt
Successfully updated worker node machine deployment replica count for cluster capv-mgmt
Workload cluster 'capv-mgmt' is being scaled
Scale workload clusters:
#Get the credentials for workload cluster: capv-workload
reddye@reddye-a02 scripts % tanzu cluster kubeconfig get capv-workload --admin
Credentials of cluster 'capv-workload' have been saved
You can now access the cluster by running 'kubectl config use-context capv-workload-admin@capv-workload'
# Show contexts and below output shows the current context as capv-workload-admin
reddye@reddye-a02 scripts % kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
capv-mgmt-admin@capv-mgmt capv-mgmt capv-mgmt-admin
* capv-workload-admin@capv-workload capv-workload capv-workload-admin
Before scaling:
reddye@reddye-a02 scripts % kubectl get nodes
NAME STATUS ROLES AGE VERSION
capv-workload-control-plane-4p2qw Ready control-plane,master 28h v1.21.2+vmware.1
capv-workload-md-0-8s8pb Ready <none> 28h v1.21.2+vmware.1
reddye@reddye-a02 scripts % tanzu cluster scale capv-workload -w 2
Successfully updated worker node machine deployment replica count for cluster capv-workload
Workload cluster 'capv-workload' is being scaled
- Back in Azure portal, you can see the vm creation in progress.
After Scaling:
reddye@reddye-a02 scripts % kubectl get nodes
NAME STATUS ROLES AGE VERSION
capv-workload-control-plane-4p2qw Ready control-plane,master 29h v1.21.2+vmware.1
capv-workload-md-0-8s8pb Ready <none> 29h v1.21.2+vmware.1
capv-workload-md-0-jn7fn Ready <none> 5m47s v1.21.2+vmware.1