售前咨询400-838-0503

Linux如何配置Kubernetes集群?

发布:2025-05-17 02:10

从零开始:在Linux系统上搭建Kubernetes集群完整指南

随着云原生技术的普及,Kubernetes已成为容器编排的事实标准。本文将手把手教你在Linux环境下配置生产级Kubernetes集群,涵盖从系统准备到集群部署的全过程。

一、准备工作

在开始安装前,请确保满足以下条件:

  • 硬件要求:至少2台Linux服务器(推荐Ubuntu 20.04+或CentOS 7+)
  • 系统配置:每台机器2GB+内存,2vCPU+,30GB+磁盘空间
  • 网络环境:节点间网络互通,禁用swap分区

二、详细安装步骤

1. 系统基础配置

在所有节点执行以下命令:

# 关闭防火墙(生产环境需配置规则)
sudo systemctl disable firewalld
sudo systemctl stop firewalld

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

# 关闭swap
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

2. 安装容器运行时

我们推荐使用containerd:

# 安装依赖
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg

# 添加Docker源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装containerd
sudo apt-get update && sudo apt-get install -y containerd.io

# 配置containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd

3. 安装Kubernetes组件

# 添加Kubernetes源
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 安装kubelet、kubeadm和kubectl
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

4. 初始化Master节点

# 在主节点执行
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

# 按照提示配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5. 安装网络插件

我们使用Flannel网络插件:

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

6. 加入Worker节点

在初始化Master时输出的join命令,在所有Worker节点执行:

sudo kubeadm join : --token  --discovery-token-ca-cert-hash sha256:

三、集群验证

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

# 查看节点状态
kubectl get nodes

# 查看所有pod状态
kubectl get pods --all-namespaces

# 测试集群功能
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc

四、常见问题解决

  • 节点NotReady:检查网络插件是否安装正确,节点间网络是否通畅
  • 镜像拉取失败:配置国内镜像源或手动拉取镜像
  • 证书过期:使用kubeadm alpha certs renew all更新证书

五、后续优化建议

生产环境还需考虑:

  1. 配置高可用架构(多个Master节点)
  2. 设置资源配额和限制
  3. 部署监控系统(Prometheus+Grafana)
  4. 配置日志收集方案

通过本指南,您已成功搭建了一个功能完备的Kubernetes集群,可以开始部署您的容器化应用了!

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

提交工单