Modern private cloud platforms are evolving rapidly, and Kubernetes has become a core requirement for running modern applications. With VMware Cloud Foundation (VCF) and VMware vSphere Kubernetes Service (VKS), deploying Kubernetes clusters is no longer just about creating virtual machines. The complete deployment workflow is highly automated and driven through multiple orchestration phases.
The deployment architecture shown in the image explains how
a VKS cluster is created step-by-step, starting from topology generation all
the way to worker node availability. Understanding these phases is very
important for administrators because it helps in troubleshooting deployment
issues, validating infrastructure readiness, and understanding how Kubernetes
components interact with vSphere infrastructure.
VKS Cluster Deployment Overview
The deployment workflow is divided into four major phases:
- Phase
1 – Topology Custom Resource Generation
- Phase
2 – Infrastructure Provisioning
- Phase
3 – Control Plane Deployment
- Phase
3a – Control Plane Bootstrap
- Phase
3b – Control Plane VM Provisioning
- Phase
3c – Node Bootstrap
- Phase
4 – Worker Provisioning
Each phase performs a dedicated function in preparing and
deploying the Kubernetes cluster.
Phase 1 – Topology Custom Resource Generation
This is the starting point of the entire deployment
workflow.
In this phase, Kubernetes custom resources are generated to
define the cluster topology and desired state. These resources are consumed
later by Cluster API (CAPI) and vSphere infrastructure providers.
The major components involved are:
- Cluster
- Machine
Deployment
- Machine
Set
- Kubeadm
Control Plane
- vSphere
Cluster
Cluster Object
The Cluster object acts as the primary Kubernetes resource
representing the Kubernetes cluster being deployed.
It defines:
- Cluster
identity
- Networking
configuration
- Kubernetes
version
- Infrastructure
references
- Control
plane references
This object becomes the central orchestration point for all
subsequent deployment tasks.
Machine Deployment
The Machine Deployment resource defines the desired worker
node deployment configuration.
It controls:
- Number
of worker nodes
- Worker
node scaling
- Worker
node upgrade strategy
- Rolling
update behaviours
This works similarly to a Kubernetes Deployment object but
is used for virtual machine lifecycle management.
Machine Set
The Machine Set resource is automatically generated from the
Machine Deployment.
Responsibilities include:
- Creating
worker node machines
- Maintaining
desired node count
- Replacing
failed worker nodes
- Ensuring
node consistency
The Machine Set continuously monitors worker node
availability.
Kubeadm Control Plane
The Kubeadm Control Plane (KCP) object defines the
Kubernetes control plane configuration.
It includes:
- API
server configuration
- etcd
deployment settings
- Control
plane node count
- Bootstrap
specifications
- Kubernetes
initialization parameters
KCP is responsible for ensuring the Kubernetes control plane
remains healthy and highly available.
vSphere Cluster
The vSphere Cluster object maps Kubernetes cluster
deployment requirements to the underlying vSphere infrastructure.
It provides:
- Datacenter
references
- Datastore
selection
- Cluster
placement policies
- Network
references
- Resource
pool configuration
This creates the bridge between Kubernetes orchestration and
vSphere infrastructure resources.
Phase 2 – Infrastructure Provisioning
Once the cluster topology is defined, infrastructure
provisioning begins.
This phase prepares the required networking and VM
infrastructure services before Kubernetes nodes are deployed.
Key components:
- SubnetSet
- VMService
- Infra
Ready State
SubnetSet
The SubnetSet resource allocates networking resources
required by Kubernetes nodes.
This includes:
- IP
allocation
- Network
attachment
- Pod
network preparation
- Service
network preparation
Subnet readiness is extremely important because Kubernetes
nodes cannot initialize without proper networking.
VMService
The VMService provides virtual machine lifecycle services
for Kubernetes nodes.
Responsibilities include:
- VM
creation
- VM
power operations
- Resource
allocation
- Storage
attachment
- VM
metadata injection
VMService integrates directly with the Supervisor
environment and vSphere infrastructure.
Infra Ready State
After networking and infrastructure services are
successfully configured, the deployment reaches the Infra Ready state.
This indicates:
- Networking
is operational
- Infrastructure
services are reachable
- VM
provisioning services are functional
- Deployment
prerequisites are satisfied
Only after this validation does the deployment proceed to
control plane provisioning.
Phase 3 – Control Plane Deployment
This is one of the most critical stages in VKS cluster
deployment.
The Kubernetes control plane is responsible for cluster
orchestration, API management, scheduling, and overall cluster health.
Phase 3 is divided into three sub-phases:
- Phase
3a – Control Plane Bootstrap
- Phase
3b – Control Plane VM Provisioning
- Phase
3c – Node Bootstrap
Phase 3a – Control Plane Bootstrap
This phase initializes the Kubernetes control plane
configuration.
Key components:
- kubeadmConfig
- Machine
CP
- Secret
- SubnetPort
kubeadmConfig
The kubeadmConfig resource contains bootstrap instructions
used to initialize Kubernetes.
It defines:
- Kubernetes
version
- Cluster
initialization commands
- Certificates
- API
server settings
- kubelet
configuration
This configuration is later injected into the control plane
VM.
Machine CP
The Machine CP object represents the control plane machine
definition.
It defines:
- VM
sizing
- Placement
policies
- Bootstrap
references
- Infrastructure
references
This object acts as the orchestration layer for control
plane VM creation.
Secret
The Secret resource stores sensitive deployment data.
Examples include:
- Kubernetes
certificates
- Authentication
tokens
- kubeconfig
files
- Encryption
data
Secrets are automatically consumed during bootstrap
operations.
SubnetPort
The SubnetPort resource assigns networking interfaces and IP
addresses to the control plane node.
This ensures:
- Control
plane VM connectivity
- API
server reachability
- Cluster
communication
Phase 3b – Control Plane VM Provisioning
After bootstrap configuration is ready, the actual control
plane VM is deployed.
Main components:
- vSphereMachine
- VirtualMachine
vSphereMachine
The vSphereMachine object defines the
infrastructure-specific VM configuration.
It contains:
- VM
template references
- Datastore
selection
- CPU
and memory allocation
- Network
attachment
- Storage
policies
This object interacts directly with vSphere APIs.
Virtual Machine
The Virtual Machine object represents the actual VM deployed
in vSphere.
Once powered on:
- kubeadm
bootstrap begins
- Kubernetes
binaries initialize
- etcd
starts
- API
server comes online
At this stage, the Kubernetes control plane starts becoming
operational.
Phase 3c – Node Bootstrap
This phase completes Kubernetes initialization.
The major operation here is:
CP Init
Control Plane Initialization performs:
- etcd
cluster initialization
- Kubernetes
API startup
- Controller
Manager startup
- Scheduler
startup
- Certificate
generation
- Cluster
token creation
Once completed:
- Kubernetes
API becomes reachable
- Cluster
management becomes available
- Worker
node provisioning can begin
This is effectively the point where the Kubernetes cluster
becomes alive.
Phase 4 – Worker Provisioning
After the control plane is operational, worker nodes are
deployed.
Key components include:
- KubeadminConfig
- Machine
Worker
- vSphereMachine
- VirtualMachine
- SubnetPort
- Available
State
Machine Worker
The Machine Worker object defines worker node
specifications.
It controls:
- Worker
node sizing
- Scaling
policies
- Bootstrap
references
- Infrastructure
references
Worker Node Bootstrap
Worker nodes receive bootstrap configuration from the
control plane using kubeadm join operations.
This process includes:
- Fetching
cluster certificates
- Registering
with API server
- Installing
kubelet
- Joining
Kubernetes cluster
vSphereMachine and VirtualMachine
Just like control plane deployment, worker nodes are
provisioned as virtual machines in vSphere.
These VMs are:
- Attached
to Kubernetes networking
- Configured
using bootstrap metadata
- Registered
into the Kubernetes cluster
Available State
Once worker nodes successfully join the cluster, the
deployment reaches the Available state.
This confirms:
- Control
plane is healthy
- Worker
nodes are operational
- Kubernetes
services are functional
- Cluster
is ready for workloads
Understanding the Complete Workflow
The complete deployment sequence can be summarized as:
- Cluster
topology definitions are generated
- Infrastructure
resources are prepared
- Control
plane configuration is initialized
- Control
plane VMs are deployed
- Kubernetes
API becomes operational
- Worker
nodes are provisioned
- Worker
nodes join the cluster
- Cluster
reaches available state
Why These Deployment Phases Matter
Understanding these phases is extremely useful for:
Troubleshooting
Administrators can identify exactly where deployment
failures occur:
- Topology
generation issues
- Infrastructure
readiness problems
- VM
provisioning failures
- Bootstrap
failures
- Node
join issues
Operational Visibility
Each phase provides visibility into:
- Infrastructure
readiness
- Cluster
initialization
- Networking
dependencies
- VM
lifecycle state
Better Design Planning
Understanding the workflow helps architects design:
- Scalable
Kubernetes environments
- Reliable
infrastructure layouts
- High
availability configurations
- Efficient
network planning
The VKS cluster deployment workflow inside VMware Cloud
Foundation is designed with a layered and highly automated architecture.
Instead of manually deploying Kubernetes components, VKS orchestrates
infrastructure provisioning, control plane initialization, networking, VM
deployment, and worker node onboarding through a structured deployment
pipeline.
Each phase in the deployment process has a very specific
responsibility, and together they create a reliable, scalable, and
enterprise-ready Kubernetes platform on top of VMware infrastructure.
For administrators working with VMware Cloud Foundation and
VKS, understanding these deployment phases is essential for successful
implementation, troubleshooting, and lifecycle management of Kubernetes
environments.
No comments:
Post a Comment