售前咨询400-838-0503

怎样在Linux云服务器上安装Kubernetes?

技术文档 2025-04-17 08:12

在Linux云服务器上安装Kubernetes的完整指南

Kubernetes作为当今最流行的容器编排平台,已成为云原生应用部署的标准。本文将详细介绍如何在Linux云服务器上一步步安装和配置Kubernetes集群,助您快速搭建自己的容器化环境。

准备工作

在开始安装前,请确保您已做好以下准备:

  • 云服务器资源:建议至少2台Linux服务器(1台Master节点,1台Worker节点)
  • 操作系统:推荐使用Ubuntu 20.04 LTS或CentOS 7/8
  • 网络配置:确保服务器间网络互通,开放必要端口(6443, 2379-2380, 10250-10252等)
  • 系统要求:每台服务器至少2GB RAM,2核CPU,禁用swap分区

步骤一:安装Docker容器运行时

Kubernetes需要容器运行时来管理容器,我们首先安装Docker:

在Ubuntu上安装:

sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

在CentOS上安装:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker
sudo systemctl start docker

步骤二:安装kubeadm、kubelet和kubectl

这些是Kubernetes的核心组件:

添加Kubernetes仓库:

sudo apt-get update && sudo apt-get install -y apt-transport-https 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 -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update

安装Kubernetes组件:

sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

注意:在CentOS上需要使用相应的yum命令进行安装。

步骤三:初始化Kubernetes Master节点

在选定的Master节点上执行初始化:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

初始化完成后,系统会输出加入集群的命令,类似:

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

配置kubectl:

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

步骤四:安装Pod网络插件

Kubernetes需要网络插件实现Pod间通信,我们安装Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

步骤五:加入Worker节点

在每个Worker节点上执行Master节点初始化时输出的join命令:

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

验证集群状态

在Master节点上执行以下命令验证集群状态:

kubectl get nodes
kubectl get pods --all-namespaces

所有节点状态应为"Ready",所有系统Pod应显示为"Running"。

常见问题解决

  • 节点未就绪:检查网络插件是否正确安装
  • 端口冲突:确保所需端口未被占用
  • 证书问题:可使用kubeadm reset后重新初始化
  • 资源不足:增加服务器资源配置

总结

通过上述步骤,您已成功在Linux云服务器上搭建了一个基本的Kubernetes集群。接下来可以部署应用、配置存储和网络策略,或考虑使用更高级的部署工具如kops或kubespray来管理生产环境集群。

Kubernetes的学习曲线虽然较陡峭,但掌握它将为您的云原生之旅打下坚实基础。建议继续探索Kubernetes的其它功能,如自动伸缩、服务发现和配置管理等。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单