售前咨询400-838-0503

如何在Linux服务器上安装和配置Kubernetes?

技术文档 2025-04-18 19:44

Linux服务器上安装配置Kubernetes全攻略

Kubernetes作为当前最流行的容器编排工具,已成为云原生应用的标配。本文将详细介绍在Linux服务器上从零开始安装和配置Kubernetes集群的全过程,包括环境准备、组件安装、集群初始化等关键步骤。

一、环境准备

1.1 系统要求

  • 操作系统:Ubuntu 18.04+/CentOS 7+
  • CPU:2核以上
  • 内存:2GB以上
  • 磁盘空间:20GB以上
  • 网络:所有节点间互通
  • Swap:必须禁用

1.2 前置条件

# 禁用Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

# 关闭SELinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 配置防火墙规则
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --reload

二、安装Docker容器运行时

# 安装Docker
sudo apt-get update
sudo apt-get install -y docker.io

# 或者使用官方安装脚本
curl -fsSL https://get.docker.com | sh

# 配置Docker使用systemd作为cgroup驱动
sudo mkdir /etc/docker
cat <

三、安装Kubernetes组件

3.1 添加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 -
cat <

3.2 安装kubelet、kubeadm和kubectl

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

四、初始化Kubernetes集群

4.1 在主节点上初始化集群

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

4.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

4.3 安装网络插件(Flannel)

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

五、加入工作节点

在主节点初始化完成后,会输出类似下面的加入命令:

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

在工作节点上执行此命令即可加入集群。

六、验证集群状态

kubectl get nodes
kubectl get pods --all-namespaces

七、常见问题解决方案

  • 网络插件问题:确保选择了与集群CIDR兼容的网络插件
  • 节点NotReady状态:检查kubelet和容器运行时日志
  • 证书过期:使用kubeadm alpha certs renew命令更新

通过以上步骤,您已成功在Linux服务器上部署了一个功能完整的Kubernetes集群。接下来可以开始部署应用程序,体验Kubernetes强大的容器编排能力。建议继续学习Helm、Ingress控制器等高级组件的使用,以充分发挥Kubernetes的全部潜力。

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

提交工单