售前咨询400-838-0503

如何在Linux云服务器上安装Kubernetes?

发布:2025-03-31 07:51

搜索全部帮助分类的文档

Linux云服务器上安装Kubernetes全指南:从零到集群部署

随着容器化技术的普及,Kubernetes已成为云原生应用编排的事实标准。本文将手把手教您在Linux云服务器上完成Kubernetes集群的安装部署,包含最新版本适配和常见问题解决方案。

一、环境准备

在开始安装前,请确保您的云服务器满足以下条件:

  • 操作系统:Ubuntu 20.04+/CentOS 7+ 或其他主流Linux发行版
  • 硬件配置:至少2核CPU、4GB内存(生产环境建议更高配置)
  • 网络环境:服务器间网络互通,建议配置内网IP
  • 磁盘空间:系统盘至少20GB可用空间

二、安装前配置

1. 关闭Swap分区

# 临时关闭
sudo swapoff -a

# 永久关闭(编辑/etc/fstab,注释swap相关行)

2. 设置主机名解析

# 编辑/etc/hosts文件
192.168.1.100 master-node
192.168.1.101 worker-node1

3. 配置防火墙规则

# 对于CentOS
sudo firewall-cmd --permanent --add-port={6443,2379-2380,10250,10251,10252}/tcp
sudo firewall-cmd --reload

# 对于Ubuntu
sudo ufw allow 6443/tcp
sudo ufw allow 2379:2380/tcp
# ...其他端口同理

三、安装Docker容器运行时

Kubernetes 1.24+版本已移除对Docker的直接支持,但仍可通过CRI适配:

# Ubuntu安装示例
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

四、安装Kubernetes组件

1. 添加Kubernetes软件源

# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl
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

# CentOS/RHEL
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

2. 安装kubeadm、kubelet和kubectl

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# CentOS/RHEL
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet

五、初始化Kubernetes集群

1. 主节点初始化

sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<主节点IP>

成功后会显示加入集群的命令,务必保存!

2. 配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

3. 安装网络插件(以Calico为例)

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

六、加入工作节点

在每个工作节点上执行初始化时保存的join命令:

sudo kubeadm join <主节点IP>:6443 --token  --discovery-token-ca-cert-hash sha256:

七、验证集群状态

kubectl get nodes
kubectl get pods --all-namespaces

所有节点状态应为Ready,核心组件运行正常。

常见问题解决

问题1:kubelet服务无法启动

→ 检查/var/log/syslog或journalctl -u kubelet查看具体错误

问题2:Pod一直处于Pending状态

→ 检查网络插件是否安装成功,使用kubectl describe pod查看详情

问题3:节点NotReady

→ 检查kubelet日志,确认容器运行时是否正常

最佳实践建议

  1. 生产环境建议使用3个主节点实现高可用
  2. 定期备份etcd数据(/var/lib/etcd)
  3. 考虑使用kubespray等工具实现自动化部署
  4. 配置监控告警系统(Prometheus+Grafana)

通过本指南,您已成功在Linux云服务器上部署了Kubernetes集群。下一步可以尝试部署应用程序或探索更高级的集群管理功能。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单