master2.sh
#!/bin/bash
echo "Cleaning up previous Kubernetes setup..." sudo hostname master-node-1 sudo kubeadm reset -f sudo apt-get purge kubeadm kubelet kubectl -y sudo apt-get autoremove -y sudo apt-get purge containerd -y sudo apt-get autoremove -y
echo "Removing Kubernetes and containerd configuration files..." sudo rm -rf /etc/cni sudo rm -rf /opt/cni sudo rm -rf /etc/cni/net.d sudo rm -rf /var/lib/kubelet sudo rm -rf /etc/kubernetes
echo "Updating and upgrading system packages..." sudo apt update && sudo apt upgrade -y
echo "Disabling swap..." sudo swapoff -a sudo sed -i '/ swap / s/^/#/' /etc/fstab
echo "Installing necessary packages for Kubernetes..." sudo apt install -y apt-transport-https ca-certificates curl
echo "Adding Kubernetes repository..." echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "Installing Kubernetes components..." sudo apt-get update -y sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
echo "Installing containerd..." sudo apt install -y containerd sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml sudo systemctl restart containerd sudo systemctl enable containerd sudo systemctl status containerd --no-pager
echo "Verifying installed versions..." kubelet --version kubeadm version kubectl version --client
echo "Configuring Kubernetes networking..." echo -e "br_netfilter" | sudo tee /etc/modules-load.d/k8s.conf && sudo modprobe br_netfilter echo -e "net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1" | sudo tee /etc/sysctl.d/k8s.conf echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-kubernetes-ip-forward.conf sudo sysctl --system
echo "Initializing Kubernetes master node..."
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
echo "Configuring kubectl..."
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf
echo "Applying Calico networking..." kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
echo "Getting the status of nodes..." kubectl get nodes