This series builds a three-node Kubernetes lab with Rocky Linux VMs in VMware on Windows 11. Start by choosing the VM resources and network range. Insufficient host memory or an address range that overlaps a VPN can prevent the lab from working even when the later installation steps are correct.
Table of Contents
1. Configuring kubeadm·containerd·Calico
Vanilla Kubernetes in this article is the upstream Kubernetes configured with kubeadm. Container execution is handled by containerd, and the network between pods is handled by Calico. Dividing roles makes it easier to distinguish where to check for image execution problems and Pod communication problems.
| Category | Standards for this series | Reason for choosing |
|---|---|---|
| host | Windows 11, VMware Workstation Pro | Hands-on server training with virtual NICs and snapshots |
| Guest OS | Starting with Rocky Linux 9.6 x86_64 installation media | Learning RHEL-based systemd·NetworkManager·cgroup v2 |
| Kubernetes | 1.36 series, select same patch from RPM repository | Reduce version differences between nodes during installation and use supported series |
| Runtime/CNI | containerd 2.x / Calico 3.33.0, VXLAN | CRI and network policy are learned with the same configuration |
| number of nodes | 1 control plane + 2 workers | Minimum separation required to observe rescheduling |
Previous minor releases of Rocky will be moved to the vault when the next minor comes out and mainstream support ends. After installing the 9.6 ISO, apply the Rocky 9.x patch supported by
dnf upgrade. So/etc/rocky-releasemay be different from 9.6. In this series, we won’t stick with 9.6 while giving up security updates.
2. Host and VM specifications
| name | vCPU | memory | virtual disk | role |
|---|---|---|---|---|
| cp01 | 2 | 4 GB | 60 GB, thin provisioning | API server·etcd·scheduler |
| wk01 | 2 | 4 GB | 60 GB | App execution/storage practice |
| wk02 | 2 | 4 GB | 60 GB | App execution/node inspection practice |
We recommend that the host have 32 GB of RAM and at least 150 GB of free SSD space. Even if you allocate 12 GB to three VMs, Windows and the browser still need space. If you have a 16 GB PC, you can try reducing the worker to 3 GB and closing other apps, but also note the memory pressure. Even if you allocate a large number of vCPUs, latency may increase if host resources are insufficient.
Turn on CPU virtualization in BIOS/UEFI and check if the VM is running in Workstation. Using containers on Linux VMs does not require nested virtualization. For errors related to Hyper-V or security features, follow Broadcom instructions for the appropriate Workstation version. Disabling all security features is not the default installation procedure.
3. VMnet8 and IP bands
In Workstation, select VMnet8 in Edit → Virtual Network Editor → Change Settings. Administrator privileges are required. Use NAT and subnet 192.168.80.0/24, host adapter connection. In NAT Settings, check gateway 192.168.80.2 and adjust DHCP to 192.168.80.128~254. If you have an existing VM, leave the configuration before changes. Menu names may vary depending on the version.
| target | address |
|---|---|
| Windows VMnet8 adapter | 192.168.80.1/24 |
| NAT gateway | 192.168.80.2 |
| cp01 / wk01 / wk02 | 192.168.80.10 / .11 / .12 |
| Pod band | 10.244.0.0/16 |
| Service band | 10.96.0.0/12 |
The three bands of VM, Pod, and Service are determined not to overlap. If your in-house VPN uses 10.0.0.0/8, you should also review Pod and Service bands. Compare the LAN·VPN·VMnet paths in the PowerShell results below. When changing the example address, also change the kubeadm settings and Calico IPPool.
Get-NetIPAddress -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv4 | Sort-Object DestinationPrefix
NAT is used to access the VM’s external storage, and when entering the VM from Windows, connect using the private IP of VMnet8. If you go this route, you do not need to set up port forwarding for the router or VMware first in the NodePort lab later. A separate path is required to access from another physical PC, and the serialization is based on the configuration of a single Windows host.
4. Install Rocky Linux 9.6
- Download the CHECKSUM file in the same directory as
Rocky-9.6-x86_64-minimal.isofrom Rocky’s official vault. Compare file names and hashes, and if possible, verify signatures using official keys. - In New Virtual Machine, select the guest type corresponding to Linux / Red Hat Enterprise Linux 9 64-bit. If the type is not found, check the Broadcom compatibility guide for your version.
- Apply 60 GB disk, one NAT NIC, the previous CPU and memory values, and boot with ISO. Uses automatic disk partitioning and Minimal Install.
- Create an administrative account
labadminand give it administrator privileges. The host names are specified ascp01,wk01, andwk02, respectively. The final fixed address of the network is set in Part 2. - Once installation is complete, disconnect the ISO. It’s easy to avoid problems with duplicate machine-ids and MAC addresses by installing three with the same procedure.
Get-FileHash .\Rocky-9.6-x86_64-minimal.iso -Algorithm SHA256
If you cloned a VM, make sure the MAC, product UUID, and machine-id are different on the three nodes. Do not just change the host name and add it to the cluster. In particular, the VM behind kubeadm init also has certificates and node state, so we don’t replicate them as sources for new workers.
5. Check VM readiness
- All three VMs boot simultaneously and Windows does not swap excessively.
- Each VM’s NIC is connected to the same VMnet8.
- Node/Pod/Service bands do not overlap with LAN and VPN paths.
- Note the 9.6 ISO starting point and the Rocky 9.x after update in your lab notes.
VMware snapshots are convenient for reverting labs. However, if the same SSD fails, the VM and snapshot may disappear together. It is used separately from separate backups, and etcd and file recovery are covered in Part 10.
reference material
- Rocky Linux Release/Minor Version Support Policy
- Rocky Linux 9.6 Official Installation Image Archive
- Broadcom Virtual Network Editor Guide
- Kubernetes Support Release
official documents and distribution files confirmed: October 18, 2026. The output is an example to determine completion and may vary depending on the environment.



