Cluster Validation¶
This section validates that the Kubernetes cluster is healthy, functional and ready for workloads.
The checks below are intentionally simple and reproducible.
They focus on core Kubernetes components, networking, and basic scheduling.
Node status¶
Verify that all nodes are registered and ready:
kubectl get nodes -o wide
Expected:¶
- all nodes are in Ready state
- control plane has the role control-plane
- worker nodes have no role
- correct internal IPs are reported
System pods status¶
Check core system components:¶
kubectl get pods -n kube-system
Expected:¶
- kube-apiserver: Running
- kube-controller-manager: Running
- kube-scheduler: Running
- etcd: Running
- calico-node: Running on all nodes
- calico-kube-controllers: Running
No pods should be in CrashLoopBackOff or Pending.
Component health¶
Verify control plane component health:¶
kubectl get componentstatuses
Expected:
- all components report Healthy
Note: This command is deprecated but still useful for quick validation.
Cluster events¶
Inspect recent cluster events:
kubectl get events -A --sort-by=.metadata.creationTimestamp
Expected:¶
- no recurring errors
- no certificate or networking failures
Warnings may appear briefly during startup but should not persist.
DNS resolution¶
Validate CoreDNS functionality:¶
kubectl run dns-test \
--image=busybox \
--restart=Never \
--rm -it -- \
nslookup kubernetes.default
Expected:¶
- DNS resolution succeeds
- service IP is returned
Pod-to-Pod networking¶
Deploy two test pods on different nodes:¶
kubectl run pod-a --image=busybox --restart=Never -- sleep 3600
kubectl run pod-b --image=busybox --restart=Never -- sleep 3600
Check pod placement and IPs:¶
kubectl get pods -o wide
Verify connectivity:¶
kubectl exec pod-a -- ping -c 3 <POD-B-IP>
Expected:¶
- ICMP traffic succeeds
- no packet loss
Cleanup test pods¶
kubectl delete pod pod-a pod-b
API server access¶
Verify API access and permissions:¶
kubectl auth can-i get pods --all-namespaces
Expected:¶
- yes
Summary¶
At this stage:¶
- All nodes are Ready
- Core control plane components are healthy
- Calico networking is functional
- DNS resolution works
- Pod-to-Pod communication is verified
The Kubernetes cluster is fully operational and ready for workloads.