Kubernetes在Debian上如何安装
导读:Kubernetes在Debian上的安装步骤 一、准备工作 系统要求:使用Debian 12(Bookworm)及以上稳定版本;每个节点(Master/Worker)需满足至少2核CPU、2GB RAM、20GB硬盘空间。 网络配置:所...
Kubernetes在Debian上的安装步骤
一、准备工作
- 系统要求:使用Debian 12(Bookworm)及以上稳定版本;每个节点(Master/Worker)需满足至少2核CPU、2GB RAM、20GB硬盘空间。
- 网络配置:所有节点之间网络互通,能访问外网(用于下载镜像和组件);关闭防火墙或放行必要端口(如Kubernetes API服务器6443、kubelet的10250系列端口)。
- 主机名与解析:为每个节点设置唯一主机名(如
master、worker1),并在/etc/hosts文件中添加节点IP与主机名的映射(避免DNS解析问题)。 - 关闭Swap:Kubernetes要求禁用Swap分区,否则kubelet无法正常启动。执行以下命令:
sudo swapoff -a # 临时关闭 sudo sed -i '/ swap / s/1/g' /etc/fstab # 永久禁用(注释掉swap行)
二、安装Docker容器运行时
Kubernetes依赖容器运行时,推荐使用Docker(社区常用):
- 添加Docker官方GPG密钥和软件源:
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl 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 - 安装Docker组件并启动服务:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker # 设置开机自启
三、添加Kubernetes官方APT仓库
- 导入Kubernetes官方GPG密钥:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - 添加Kubernetes软件源(使用
kubernetes-xenial仓库,兼容Debian 12):echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list - 更新软件包索引:
sudo apt update
四、安装Kubernetes核心组件
安装kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(命令行工具),并锁定版本(避免意外升级):
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本
五、初始化Master节点
在Master节点上执行初始化命令,指定Pod网络CIDR(用于Flannel插件,需与后续网络插件配置一致):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,会输出加入Worker节点的命令(包含Token和CA证书哈希),需保存备用(格式:sudo kubeadm join <
master-ip>
:6443 --token <
token>
--discovery-token-ca-cert-hash sha256:<
hash>
)。
六、配置kubectl
将Master节点的Kubernetes配置文件复制到当前用户目录,用于本地管理集群:
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间通信,推荐使用Flannel(轻量易用):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
等待插件部署完成(可通过kubectl get pods -n kube-system查看插件Pod状态,需全部为Running)。
八、加入Worker节点
在每台Worker节点上,使用Master节点初始化时输出的加入命令执行:
sudo kubeadm join <
master-ip>
:6443 --token <
token>
--discovery-token-ca-cert-hash sha256:<
hash>
加入成功后,Worker节点会自动注册到集群中。
九、验证安装
- 检查集群信息:
kubectl cluster-info - 查看节点状态(Master节点需标记为
Ready,Worker节点需陆续变为Ready):kubectl get nodes - 部署示例应用(如Nginx)验证集群功能:
若Pod状态为kubectl create deployment nginx-app --image=nginx --replicas=2 kubectl expose deployment nginx-app --name=nginx-web-svc --type=NodePort --port=80 --target-port=80 kubectl get pods # 查看Pod状态Running,则说明集群安装成功。
注意事项
- 版本兼容性:确保Docker、Kubernetes组件版本兼容(如Kubernetes 1.28+需搭配Docker 24.0.7+)。
- 生产环境建议:使用LTS版本的Debian(如12),配置etcd集群(持久化存储)、网络策略(安全隔离)、监控告警(如Prometheus)等。
- 常见问题:若初始化失败,可尝试清理残留数据(
sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/)后重新执行初始化命令。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Kubernetes在Debian上如何安装
本文地址: https://pptw.com/jishu/745414.html
