温馨提示×

centos部署k8s需注意什么

小樊
35
2026-09-09 09:22:49
栏目: 智能运维

CentOS 上部署 Kubernetes(k8s) 时,有一些系统层面和 Kubernetes 本身的注意点,否则很容易踩坑。下面按部署前 → 部署中 → 部署后给你梳理。


一、部署前注意事项(非常重要)

1️⃣ 系统版本选择

  • 推荐:CentOS 7.9 / CentOS Stream 8/9
  • ❌ 不推荐:CentOS 6(已停止维护)
  • 注意:
    • CentOS 8 官方已 EOL(可用 CentOS Stream 或 Rocky / AlmaLinux 替代)
    • Kubernetes 1.24+ 已移除 dockershim

2️⃣ 关闭 Swap(必须)

Kubernetes 要求 swap 必须关闭

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

3️⃣ 关闭防火墙或配置规则

两种方式二选一:

测试环境(简单)

systemctl stop firewalld
systemctl disable firewalld

生产环境(建议放行端口)

  • API Server:6443
  • kubelet:10250
  • etcd:2379-2380
  • NodePort:30000-32767

4️⃣ 禁用 SELinux

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

5️⃣ 配置内核参数(网络相关)

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

sysctl --system

6️⃣ 时间同步(非常重要)

节点时间不一致会导致 etcd 异常

yum install -y chrony
systemctl enable --now chronyd

二、容器运行时选择(关键)

Kubernetes 1.24+ 不再支持 Docker

可选:

  • containerd(官方推荐)
  • ✅ CRI-O

安装 containerd 示例

yum install -y containerd
systemctl enable --now containerd

三、Kubernetes 安装注意事项

1️⃣ 使用国内镜像(很重要)

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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

3️⃣ 初始化 Master(示例)

kubeadm init \
  --pod-network-cidr=10.244.0.0/16 \
  --image-repository=registry.aliyuncs.com/google_containers

4️⃣ 网络插件(必须装)

常见选择:

  • Flannel(简单)
  • Calico(生产推荐)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

四、部署后常见问题

❌ 节点 NotReady

原因通常是:

  • 网络插件没装
  • cgroup 驱动不一致

检查:

kubectl get nodes
journalctl -u kubelet -f

❌ cgroup 驱动不一致

containerd 与 kubelet 必须一致:

# /etc/containerd/config.toml
SystemdCgroup = true

并配置 kubelet:

--cgroup-driver=systemd

五、生产环境额外建议

✅ 使用 高可用 Master(3 节点)
✅ 使用 负载均衡(VIP / HAProxy / Nginx)
✅ 使用 Rocky / AlmaLinux 替代 CentOS
✅ 定期备份 etcd
✅ 限制 Kubernetes 版本升级策略


六、总结一句话

CentOS 部署 k8s 的核心:关 swap、关防火墙、配内核、选对容器运行时、网络插件不能少。

如果你是:

  • 单机测试
  • 生产集群
  • 使用 kubeadm / 二进制 / Rancher

可以告诉我,我可以给你一套针对性部署方案

0