MaruOpsInfrastructure and AI notes

About (Korean)Contact (Korean)

Kubernetes Lab on Windows 11 and VMware: All 10 Parts

BalticServers data center where the servers are installed
Photo: BalticServers.com · Wikimedia Commons Original · CC BY-SA 3.0

Practice YAML · Download configuration file ZIP · Do not apply the entire file at once, but follow each step in order.

This is a 10-part series on creating three Rocky Linux VMs and installing Kubernetes on VMware Workstation on Windows 11. Distribution, communication, storage, permissions, fault diagnosis and restoration are carried out through the same app. The reason for each setting and the status to be checked are written down, so you can refer to them when looking at the operation process after installation.

Practice environment and reading order

Start with the Rocky Linux 9.6 x86_64 installation media and use supported Rocky 9.x after security updates. The documentation-based combination is Kubernetes 1.36.5, containerd 2.x, and Calico 3.33.0. It has 1 CP and 2 workers, and uses node band 192.168.80.0/24, pod band 10.244.0.0/16, and service band 10.96.0.0/12. If you are at a different point in choosing a package, double-check official compatibility with the repository list.

For Windows hosts, we recommend 32 GB of RAM and at least 150 GB of free SSD. It’s easy to follow if you know the basics of the Linux shell, sudo, and file editing. Bash runs on Linux and PowerShell runs on Windows. Operations that apply only to specific nodes are indicated in the corresponding step.

ordercontentWhat you can do after finishing
01Windows 11·VMware and Rocky Linux lab environmentPrepare the VMware NAT network, VM resources and IP plan, then install Rocky Linux 9.6. The 3 VMs form the lab used throughout the Kubernetes series.
02Rocky Linux static IP/time/kernel settingsPoint out the meaning of static IP, name resolution, swap, kernel module, and SELinux, and match the common conditions of the three nodes. Complete reboot verification before installation.
03Installing containerd 2.x and kubeadmLet’s look at the structure of running a container with containerd without Docker, and match the systemd cgroup and Kubernetes RPM versions on three nodes.
04Cluster configuration and Calico connectionConfigure a 3-node cluster with kubeadm init and join. Check the Ready status by connecting the roles of the API server, etcd, and the controller to Calico VXLAN.
05Deployment Deployment and rolling updateWe deploy unprivileged NGINX and practice requests·limits, readiness·liveness, scheduler filtering and scoring, and rolling updates.
06Service·DNS and connection path on WindowsConnect ClusterIP·NodePort·EndpointSlice to trace the request path. We’ll also look at the boundaries when changing web pages with ConfigMap and dealing with Secrets.
07Leave a file with local PV/PVCPractice file survival by connecting a local PersistentVolume and PVC. Understand WaitForFirstConsumer, node dependencies, and the difference between Retain and Backup.
08RBAC·NetworkPolicy·Pod execution permissionCreate a read-only ServiceAccount and Role and restrict access with Calico NetworkPolicy. Connects Pod Security Admission and token management.
09Pod fault diagnosis and node drainLearn the order of reading events, logs, and termination reasons, and recover from intentional scheduling failures. Leave the PDB and safely drain and return workers.
10etcd·File restoration and patch upgradePractice saving etcd snapshots and isolated single control plane recovery. Connects local file backup, patch upgrade sequence, and even certificate checking.

Where to stack files

Practice files are collected in ~/k8s-lab/app of cp01. The web-deployment.yaml from Part 5 continues to be used with the addition of ConfigMap from Part 6 and the token mount settings from Part 8. YAML fragments are merged into an existing file rather than applied separately. The local-data PVC and wk01 files from Part 7 are saved until the last backup.

Verification scope and operational boundaries

We verified availability of official documentation, RPM repositories, Calico distribution files, and images, and reviewed YAML/shell syntax. This is not a ground truth record of running the entire procedure on three Windows 11, VMware, and Rocky VMs. I did not use the example output as an actual execution screen. The status of each step must be checked on the equipment being used.

This environment is for learning purposes only. Single control plane, SELinux permissive, guest firewalld disabled, node dependency on local PV intentionally exposed. When moving to production servers, access control, high availability, storage and data consistency, and external backup must be designed separately. Administrator kubeconfig·token·PKI·etcd backups are not placed in public repositories or web directories.

In what order should I learn it?

Parts 1 to 4 prepare nodes and Pod DNS, and parts 5 to 7 cover distribution, communication, and storage of web apps. Parts 8 to 10 are about permissions, fault diagnosis, and backup/restore. If an error remains, check that step before executing any more commands in the following article. You must complete the cleanup command for the Test Pod in Part 7 and the Policy in Part 8 before you can continue with the drain practice.

document reference date: October 18, 2026. If you find a technical error, please leave a comment with the article number, version used, and an error message excluding sensitive information.