Debian Kubernetes集群搭建指南
导读:Debian Kubernetes集群搭建指南 一、前置准备 1. 系统要求 硬件:每节点至少2核CPU、2GB RAM、20GB磁盘空间; 软件:Debian 10及以上版本(推荐12,兼容性更佳); 网络:节点间IP可达,关闭防火墙或...
Debian Kubernetes集群搭建指南
一、前置准备
1. 系统要求
- 硬件:每节点至少2核CPU、2GB RAM、20GB磁盘空间;
- 软件:Debian 10及以上版本(推荐12,兼容性更佳);
- 网络:节点间IP可达,关闭防火墙或放行必要端口(如API Server的6443/tcp、Calico的179/tcp/4789/udp等)。
2. 主机配置
- 设置主机名:在每台节点执行
hostnamectl set-hostname < 名称>
(如主节点k8s-master
、工作节点k8s-node1
); - 配置hosts文件:编辑
/etc/hosts
,添加节点IP与主机名映射(如192.168.1.1 k8s-master
、192.168.1.2 k8s-node1
); - 关闭Swap:执行
sudo swapoff -a
永久禁用(修改/etc/fstab
,注释含swap
的行)。
二、安装基础组件
1. 安装Docker
Docker是Kubernetes推荐的容器运行时,安装步骤如下:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
2. 安装Kubernetes组件
添加Kubernetes官方源并安装kubelet
、kubeadm
、kubectl
(用于集群管理):
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
初始化集群,指定Pod网络CIDR(需与后续网络插件匹配):
sudo kubeadm init --pod-network-cidr=10.244.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
四、安装网络插件
Kubernetes需要网络插件实现Pod间通信,常用Calico(高性能、支持网络策略):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
验证插件状态:
kubectl get pods -n kube-system # 所有Pod应为"Running"状态
五、加入工作节点
在主节点初始化时,会输出kubeadm join
命令(包含Token和CA证书哈希)。在工作节点执行该命令即可加入集群:
sudo kubeadm join <
主节点IP>
:6443 --token <
TOKEN>
--discovery-token-ca-cert-hash sha256:<
HASH>
若忘记命令,可在主节点重新生成:kubeadm token create --print-join-command
。
六、验证集群
- 检查节点状态:
kubectl get nodes # 主节点应为"Ready"状态,工作节点同步后也会变为"Ready"
- 部署测试应用:
kubectl create deployment nginx --image=nginx --replicas=2 kubectl expose deployment nginx --type=NodePort --port=80 --target-port=80 kubectl get svc # 查看NodePort端口(如31743)
- 访问应用:
在浏览器或通过curl
访问< 节点IP> :< NodePort>
,应显示Nginx欢迎页面。
注意事项
- 版本兼容性:确保Docker、Kubernetes组件版本匹配(参考官方文档);
- 防火墙配置:若使用
ufw
,需放行Kubernetes相关端口(如sudo ufw allow 6443/tcp
); - 持久化配置:建议将
/etc/kubernetes
目录备份,避免数据丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Kubernetes集群搭建指南
本文地址: https://pptw.com/jishu/731532.html