Local setup using Vagrant
After some time of teetering trial and error, I managed to run a properly configured cluster using vagrant.
Vagrantfile
Vagrant.configure("2") do |config|
# Define common settings for both VMs
config.vm.box = "ubuntu/focal64" # Ubuntu 20.04
config.vm.provider "virtualbox" do |vb|
vb.memory = "8192"
vb.cpus = 2
end
# Control Plane Node
config.vm.define "cp-node" do |cp|
cp.vm.hostname = "cp-node"
cp.vm.network "private_network", type: "static", ip: "192.168.56.10"
cp.vm.provider "virtualbox" do |vb|
end
cp.vm.provision "shell", inline: <<-SHELL
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo systemctl disable --now ufw
sudo systemctl stop apparmor
sudo systemctl disable --now apparmor
SHELL
end
# Worker Node
config.vm.define "worker-node" do |worker|
worker.vm.hostname = "worker-node"
worker.vm.network "private_network", type: "static", ip: "192.168.56.11"
worker.vm.provision "shell", inline: <<-SHELL
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo systemctl disable --now ufw
sudo systemctl stop apparmor
sudo systemctl disable --now apparmor
SHELL
end
end
- start the machines
vagrant up
- populate the /etc/hosts file of each node with the ip addresses of both nodes:
echo -e "192.168.56.10 cp-node\n192.168.56.11 worker-node" | sudo tee -a /etc/hosts
download the resources from the cm.lf.training(LFD259_V2024-09-20_SOLUTIONS) site on both nodes
cp-node: modify the k8scp.sh script script and execute it:
bash cp $(find $HOME -name k8scp.sh) . && sed -i 's|sudo kubeadm init --kubernetes-version=1.31.1 --pod-network-cidr=10.0.0.0/8|sudo kubeadm init --apiserver-advertise-address=192.168.56.10 --pod-network-cidr=10.200.0.0/16|' k8scp.sh && sed -i 's|cilium install --version 1.16.1*|cilium install --version 1.16.1 --set ipam.operator.clusterPoolIPv4PodCIDRList=10.200.0.0/16|' k8scp.sh &&bash k8scp.sh | tee $HOME/cp.out
worker-node: modify the k8Worker.sh script and execute it :bash cp $(find $HOME -name k8sWorker.sh) . && bash k8sWorker.sh | tee worker.out- worker-node: Then just use the join command as per the instructions. And that should be it
I hope it helps
Comments
-
Thank you @chrispokorni for your valuable assistance.
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 754 Linux Foundation IT Professional Programs
- 374 Cloud Engineer IT Professional Program
- 170 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 5 DevOps & GitOps IT Professional Program
- 100 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 2 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 5 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 2 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 794 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 89 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 112 Mobile Computing
- 20 Android
- 77 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 393 Off Topic
- 121 Introductions
- 182 Small Talk
- 29 Study Material
- 976 Programming and Development
- 310 Kernel Development
- 648 Software Development
- 990 Software
- 382 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)