在Debian上配置Kubernetes(K8S)集群涉及多个关键步骤和要点。以下是一个详细的指南,涵盖了从准备工作到最终验证集群状态的各个步骤:
硬件和系统要求:
服务器规划:
网络配置:
/etc/hosts 文件,以便节点之间可以相互解析。关闭交换分区:
sudo swapoff -a
sudo sed -i '/ swap / s/1/g' /etc/fstab
安装Docker和Kubernetes工具:
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now 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 update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
初始化主节点:
kubeadm init 命令初始化集群。sudo kubeadm init --apiserver-advertise-address <master-node-ip> --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.28.0 --control-plane-endpoint <master-node-ip>:6443 --service-cidr 10.100.0.0/16 --token-ttl 0 --pod-network-cidr 10.244.0.0/16
配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
sudo ufw allow 179/tcp
sudo ufw allow 4789/udp
sudo ufw allow 51820/udp
sudo ufw allow 51821/udp
sudo ufw reload
kubectl get nodes
kubectl get pods --all-namespaces
通过以上步骤,你可以在Debian系统上成功配置一个Kubernetes集群。请根据实际需求和环境调整细节。