Skip to content

Repository files navigation

Kubernetes CKA, CKAD, CKS Practice Environment with Vagrant

Overview

This repository offers a comprehensive setup for practicing for the CKA, CKAD, CKS exams using Vagrant. It automates the deployment of a Kubernetes cluster, closely mirroring the Killer.sh environment, and is designed for ease of maintenance and compatibility with various systems. For use with Kubernetes CKS Killer.sh Course

Features

  • Automated Kubernetes Cluster Setup: Utilize Kubeadm to automate the creation of a Kubernetes cluster for CKA, CKAD, and CKS exam practice.
  • Platform Compatibility: Supports both x86_AMD64 with VirtualBox or Apple Silicon (M-series) with VMware Fusion.
  • Customizable Cluster Versions: Easily deploy clusters with the latest or specific previous versions of Kubernetes.
  • Resource Management: Includes Vagrant Disksize plugin support for adjusting VM disk sizes as needed.
  • Practice-Oriented Configuration: Tailored configurations and security settings for realistic CKA, CKAD, CKS exams practice.

Prerequisites

Setup Instructions

  1. Installation:
    • Install Brew
    • Run brew update to refresh the list of available packages
    • Install Vagrant Run brew tap hashicorp/tap && brew install hashicorp/tap/hashicorp-vagrant
    • Vagrant Disksize plugin. Run vagrant plugin install vagrant-disksize
    • Apple Silicon
      • Install VMware Fusion (Download manually as the Homebrew cask is no longer available).
      • Install Vagrant VMware Utility. Run brew install vagrant-vmware-utility
      • Install Vagrant VMware Desktop plugin. Run vagrant plugin install vagrant-vmware-desktop
    • x86_AMD64
      • Install VirtualBox. Run brew install --cask virtualbox
  2. Deployment:
    • Use the provided script to deploy the Kubernetes cluster, run ./deploy-latest.sh.
  3. Clean Up:
    • To remove all VMs and resources, run ./cleanup.sh after practice sessions.

Usage

  • Deploy Latest Kubernetes Cluster: ./deploy-latest.sh
  • Deploy Previous Version Kubernetes Cluster: ./deploy-previous.sh
  • Clean Up Resources: ./cleanup.sh

Supported Platforms

  • x86_AMD64 (VirtualBox)
  • Apple Silicon (M-series with VMware Fusion)

License

This project is licensed under the MIT License. See LICENSE.md for more details.


Contributors

Languages