Version 0.1.0-beta.1: Basic Kubernetes Cluster Deployment with kubeadm
Pre-release
Pre-release
Summary
This beta release establishes a foundational, end-to-end workflow for deploying a Kubernetes cluster using a combination of Packer, Terraform, and Ansible. Key improvements include migrating the virtualization platform to VMware Workstation, refactoring the entire Ansible configuration into a role-based structure for better scalability, and resolving a critical networking issue where cloned VMs would receive duplicate IP addresses. The base Kubernetes components are now pre-baked into the Packer image, significantly speeding up the VM cloning and provisioning stages.
Changes
Added
- Implemented a complete automation script (
entry.sh) to provision a basic Kubernetes cluster withkubeadm. - Added VM lifecycle management commands (
status,start,stop,delete) for easier control.
Changed
- Platform Migration: Migrated the virtualization platform from VirtualBox to VMware Workstation to improve performance and automation stability.
- Ansible Refactoring: All Ansible playbooks were refactored into a standardized, role-based structure for better maintainability and scalability.
Fixed
- Networking: Resolved a critical issue where cloned VMs would receive duplicate NAT IP addresses by implementing a script to reset the machine-id during provisioning.
- Configuration: Improved SSH configuration management to prevent
~/.ssh/configfrom being overwritten or deleted duringterraform destroy.
Included Pull Requests
- Refactor ( infra ) : Overhaul and Stabilize the VBox VM Automation Workflow by @csning1998 in #1
- Refactored: Migrated from Oracle VirtualBox to VMWare Workstation by @csning1998 in #2
- Experimental: Terraform to Ansible without using Provider by @csning1998 in #3
- Basic Kubernetes Cluster Deployment with
kubeadmby @csning1998 in #4
Full Changelog: https://github.com/csning1998/iac-kubeadm-deployment/commits/v0.1.0-beta.1