温馨提示×

centos k8s部署需什么环境

小樊
43
2026-10-06 07:57:11
栏目: 智能运维

在 CentOS 上部署 Kubernetes(k8s),需要满足一定的系统、网络和软件环境要求。下面按生产可用角度说明(以 kubeadm 方式为例,CentOS 7/8 均适用,推荐 7.9 或 Stream 8)。


一、基础硬件环境

1. 节点规划(最小)

  • Master(控制平面):至少 1 台(生产建议 3 台)
  • Worker(工作节点):至少 1 台

2. 硬件要求

节点类型 CPU 内存 磁盘
Master ≥ 2 核 ≥ 2GB(推荐 4GB) ≥ 20GB
Worker ≥ 2 核 ≥ 2GB ≥ 20GB

生产环境建议 Master ≥ 4C8G


二、操作系统环境

1. 系统版本

  • CentOS 7.9(最常用、最稳定)
  • CentOS Stream 8 / Rocky / Alma(可选)

2. 系统配置

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

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

# 关闭 swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

3. 主机名与 hosts

hostnamectl set-hostname master
hostnamectl set-hostname node1

# /etc/hosts
192.168.1.10 master
192.168.1.11 node1

三、内核与网络环境

1. 开启桥接与 IPv4 转发

cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

sysctl --system

2. 时间同步(非常重要)

yum install -y chrony
systemctl enable --now chronyd

四、容器运行时(必须)

Kubernetes 不再支持 docker(1.24+),需使用:

  • containerd(推荐)
  • 或 cri-o

containerd 安装示例

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

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

systemctl enable --now containerd

五、Kubernetes 软件环境

1. 配置 yum 源

cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

2. 安装 kubeadm / kubelet / kubectl

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

六、网络环境(CNI)

必须安装一个 网络插件:

  • Calico(推荐)
  • Flannel
  • Cilium

示例(Calico):

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

七、初始化集群(Master)

kubeadm init \
  --apiserver-advertise-address=192.168.1.10 \
  --pod-network-cidr=10.244.0.0/16

初始化完成后:

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

八、Node 加入集群

kubeadm join 192.168.1.10:6443 \
  --token xxx \
  --discovery-token-ca-cert-hash sha256:xxx

九、常见坑提醒

  • ❌ 必须关闭 swap
  • ❌ 必须时间同步
  • ❌ 防火墙或 SELinux 未关会导致初始化失败
  • ✅ 推荐使用 containerd
  • ✅ 生产环境 Master 至少 3 节点

如果你需要:

  • 单节点测试环境
  • CentOS 7 一键脚本
  • k8s + Harbor / Ingress / 持久化存储

可以直接告诉我你的使用场景。

0 踩