如何在debian上顺利安装k8s
导读:在Debian上顺利安装Kubernetes(K8s)的详细步骤 一、准备工作 硬件要求 至少2核CPU、2GB RAM(推荐4GB及以上)、20GB可用硬盘空间,确保系统资源满足Kubernetes运行需求。 系统设置 所有节点(Ma...
在Debian上顺利安装Kubernetes(K8s)的详细步骤
一、准备工作
- 硬件要求
至少2核CPU、2GB RAM(推荐4GB及以上)、20GB可用硬盘空间,确保系统资源满足Kubernetes运行需求。 - 系统设置
- 所有节点(Master/Worker)需设置主机名(如
master-node
、worker-node1
),并更新/etc/hosts
文件,将节点IP与主机名映射(例如:192.168.1.100 master-node
)。 - 关闭Swap分区(Kubernetes要求):
临时禁用:sudo swapoff -a
;
永久禁用:编辑/etc/fstab
文件,注释或删除包含swap
的行。 - 确保网络互通:所有节点之间能通过SSH互相访问,且能访问外网(用于下载镜像和依赖)。
- 所有节点(Master/Worker)需设置主机名(如
- 软件要求
- 使用稳定的Debian版本(如Debian 11/12),提前更新系统:
sudo apt update & & sudo apt upgrade -y
。
- 使用稳定的Debian版本(如Debian 11/12),提前更新系统:
二、安装Docker(容器运行时)
Kubernetes依赖容器运行时,推荐使用Docker(社区主流选择):
- 安装依赖包:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
。 - 添加Docker官方GPG密钥和源:
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
。 - 启动Docker并设置开机自启:
sudo systemctl start docker
;
sudo systemctl enable docker
。
三、安装Kubernetes核心组件(kubelet/kubeadm/kubectl)
- 添加Kubernetes官方APT源:
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
。
四、初始化Master节点
- 执行初始化命令(指定Pod网络CIDR,需与后续网络插件匹配):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
。 - 初始化完成后,会输出加入Worker节点的命令(包含Token和CA证书哈希),需保存备用。
- 配置
kubectl
(用于管理集群):mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ```。
五、安装网络插件(以Flannel为例)
Kubernetes需要网络插件实现Pod间通信,推荐使用Flannel(轻量、易部署):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```。
#### **六、加入Worker节点**
在每台Worker节点上,执行Master节点初始化时输出的**加入命令**(格式如下):
`sudo kubeadm join <
master-ip>
:6443 --token <
token>
--discovery-token-ca-cert-hash sha256:<
hash>
`。
#### **七、验证安装**
1. 检查集群节点状态(在Master节点执行):
`kubectl get nodes`
若所有节点状态显示为`Ready`,则说明安装成功。
2. 部署示例应用(可选,验证功能):
```bash
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 describe svc nginx-web-svc # 查看NodePort端口
curl http://<
node-ip>
:<
node-port>
# 测试应用访问
```。
#### **注意事项**
- **时间同步**:确保所有节点时间一致(建议安装NTP服务,如`sudo apt install ntp`)。
- **防火墙配置**:开放Kubernetes必要端口(如6443、10250、10255等),避免集群通信受阻。
- **版本兼容性**:Kubernetes版本与Docker版本需兼容(参考官方文档的`Supported Versions`)。
- **生产环境建议**:使用更稳定的网络插件(如Calico)、配置RBAC权限、定期备份集群数据。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在debian上顺利安装k8s
本文地址: https://pptw.com/jishu/718206.html