在Debian上部署Kubernetes(K8S)集群是一个相对复杂但非常有用的过程,以下是一些关键步骤和技巧,可以帮助你顺利完成部署。
sudo swapoff -a
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo sysctl -w vm.swappiness=0
sudo sysctl -w net.ipv4.ip_forward=1
为了使这些配置在重启后依然有效,可以将它们添加到 /etc/sysctl.conf
文件中。sudo modprobe br_netfilter
如果 modprobe
命令未找到,可以编辑 /etc/bash.bashrc
文件,添加以下行:export PATH=/usr/sbin:$PATH
然后运行 source /etc/bash.bashrc
使配置生效。sudo hostnamectl set-hostname k8smaster
sudo hostnamectl set-hostname k8snode1
sudo hostnamectl set-hostname k8snode2
编辑 /etc/hosts
文件,添加以下行:192.168.124.134 k8smaster
192.168.124.135 k8snode1
192.168.124.141 k8snode2
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [archamd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | 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 kubeadm init --pod-network-cidr=192.168.0.0/16 --service-cidr=10.96.0.0/12
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl get nodes
kubectl get pods --all-namespaces
kubectl get events
kubectl get pods --all-namespaces -o wide
kubectl logs <pod_name> -n <namespace>
通过以上步骤和技巧,你应该能够在Debian上成功部署Kubernetes集群。如果在部署过程中遇到问题,可以参考相关的日志和事件信息进行排查。