在Debian上部署Kubernetes(K8S)集群的最佳实践涉及多个方面,包括系统准备、Kubernetes组件安装、网络配置、高可用性设置等。以下是一个详细的步骤指南:
更新系统:
sudo apt update && sudo apt upgrade -y
关闭Swap:
sudo swapoff -a && sudo sed -i 's/.*swap.*/#&/' /etc/fstab
配置内核参数:
编辑 /etc/sysctl.conf
文件,添加或修改以下行:
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
应用配置:
sudo sysctl -p
修改主机名:
sudo hostnamectl set-hostname k8smaster
编辑 /etc/hosts
文件,确保主机名与IP地址对应。
关闭防火墙:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
安装Docker: 添加Docker官方GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
配置Docker源:
echo "deb [archamd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
安装Docker:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
启动并启用Docker服务:
sudo systemctl start docker
sudo systemctl enable docker
添加Kubernetes源:
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
安装Kubernetes组件:
sudo apt install -y kubelet kubeadm kubectl
禁用自动升级:
sudo apt-mark hold kubelet kubeadm kubectl
初始化Kubernetes集群: 在主节点上执行:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --service-cidr=10.96.0.0/12
配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装kube-proxy:
sudo apt install -y kube-proxy
配置Calico网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml
查看集群状态:
kubectl cluster-info
kubectl get nodes
部署前端应用(例如Nginx): 构建Nginx镜像并部署:
docker build -t nginx:latest .
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --type=LoadBalancer --port=80
配置Ingress(可选):
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml
通过以上步骤,你可以在Debian上成功部署一个高可用的Kubernetes集群,并部署前端应用。请根据实际需求调整配置,例如网络插件和集群规模。更多详细信息和高级配置可以参考Kubernetes官方文档和社区资源。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:Debian上K8S部署有哪些最佳实践