Debian系统下Kubernetes安装步骤
导读:Debian系统下Kubernetes安装步骤 1. 准备工作 系统要求:确保所有节点(Master/Worker)满足以下条件: 至少2核CPU、2GB RAM、20GB磁盘空间; Debian 11/12等稳定版本(建议使用LTS版...
Debian系统下Kubernetes安装步骤
1. 准备工作
- 系统要求:确保所有节点(Master/Worker)满足以下条件:
- 至少2核CPU、2GB RAM、20GB磁盘空间;
- Debian 11/12等稳定版本(建议使用LTS版本);
- 所有节点之间网络互通(可通过
ping命令验证); - 配置静态IP地址(避免DHCP导致IP变动);
- 关闭Swap分区(Kubernetes要求,否则
kubelet无法正常启动)。
- 工具准备:确保所有节点安装
curl、wget、vim等基础工具(可通过sudo apt install -y curl wget vim安装)。
2. 更新系统
在所有节点上执行以下命令,更新系统包列表并升级已安装的软件包:
sudo apt update &
&
sudo apt upgrade -y
3. 安装Docker容器运行时
Kubernetes依赖容器运行时(如Docker)来运行容器,以下是Docker的安装步骤:
- 添加Docker官方GPG密钥和APT源:
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 - 安装Docker引擎及相关组件:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io - 启动Docker并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker - 验证Docker是否安装成功:
sudo docker run hello-world
4. 安装Kubernetes组件(kubelet、kubeadm、kubectl)
Kubernetes的核心组件需通过以下步骤安装:
- 添加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 - 更新APT包索引并安装组件:
sudo apt update sudo apt install -y kubelet kubeadm kubectl - 锁定组件版本(避免自动升级导致兼容性问题):
sudo apt-mark hold kubelet kubeadm kubectl
5. 初始化Master节点
在Master节点上执行以下命令,初始化Kubernetes集群:
sudo kubeadm init \
--pod-network-cidr=10.244.0.0/16 \ # 指定Pod网络CIDR(与后续网络插件匹配)
--service-cidr=10.96.0.0/12 \ # 指定Service网络CIDR
--apiserver-advertise-address=<
Master-IP>
# 替换为Master节点的实际IP
- 初始化完成后,会输出
kubeadm join命令(用于Worker节点加入集群),请务必保存该命令。
6. 配置kubectl
kubectl是Kubernetes的命令行工具,需配置其访问集群的权限:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 验证
kubectl是否配置成功:kubectl version --client
7. 安装网络插件
Kubernetes需要网络插件来实现Pod间的通信,常用插件为Flannel(轻量级、易部署):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 验证网络插件是否安装成功:
若所有Pod状态均为kubectl get pods -n kube-systemRunning,则说明网络插件安装成功。
8. 加入Worker节点
在Worker节点上执行Master节点初始化时输出的kubeadm join命令(替换为实际的IP、Token和Hash):
sudo kubeadm join <
Master-IP>
:6443 \
--token <
token>
\
--discovery-token-ca-cert-hash sha256:<
hash>
- 若忘记
kubeadm join命令,可在Master节点上重新生成:kubeadm token create --print-join-command
9. 验证集群状态
在Master节点上执行以下命令,验证集群是否正常运行:
kubectl cluster-info # 查看集群信息
kubectl get nodes # 查看节点状态(所有节点应为Ready)
kubectl get pods -A # 查看所有命名空间的Pod状态(应为Running)
10. 可选:部署测试应用
验证集群功能,部署一个简单的Nginx应用:
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 svc nginx-web-svc - 在浏览器中访问
http://< Master-IP> :< NodePort>,若看到Nginx欢迎页面,则说明集群工作正常。
注意事项
- 时间同步:所有节点需安装NTP服务(如
chrony),确保时间同步(否则可能导致证书验证失败); - 防火墙:若开启防火墙,需允许Kubernetes相关端口(如6443、10250、10255等);
- 生产环境:建议使用更稳定的网络插件(如Calico)、配置RBAC权限、启用etcd备份等功能。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统下Kubernetes安装步骤
本文地址: https://pptw.com/jishu/742561.html
