★ 1
Deploy production-ready Kubernetes clusters with K3s
56/100 healthActive repository
ShellMIT#devops#k3s#kubernetes#shell
⑂ 0 forks◯ 0 issuesUpdated Feb 19, 2026
Loading repository data…
Ajaz3800 / repository
Production-ready Kubernetes cluster setup using kubeadm, automated with Ansible and bash scripts. Designed for learning, practice, and DevOps portfolio projects.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This project provides a step-by-step Kubernetes cluster setup using kubeadm, along with:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.35/deb/Release.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo apt install containerd -y
sudo mkdir -p /etc/containerd
containerd config default | sed 's/SystemdCgroup = false/SystemdCgroup = true/' \
| sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo swapoff -a
sudo sed -i '/\sswap\s/s/^/#/' /etc/fstab
sudo modprobe br_netfilter
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo bash -c 'echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables'
sudo bash -c 'echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables'
sudo kubeadm init \
--apiserver-advertise-address <MASTER_IP> \
--pod-network-cidr "10.244.0.0/16" \
--upload-certs
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
IP=$(hostname -I | awk '{print $2}')
sudo sed -i "s|^KUBELET_EXTRA_ARGS=.*|KUBELET_EXTRA_ARGS=--node-ip=$IP|" /etc/default/kubelet
sudo systemctl daemon-reexec
sudo systemctl restart kubelet
chmod +x install-k8s.sh
./install-k8s.sh
ansible-playbook playbook.yml
If you find this project helpful, please give it a star ⭐ on GitHub.
Selected from shared topics, language and repository description—not editorial ratings.
Deploy production-ready Kubernetes clusters with K3s
56/100 health