温馨提示×

centos部署k8s用啥网络

小樊
36
2026-09-18 11:59:39
栏目: 智能运维

CentOS 上部署 Kubernetes(k8s),常用的网络方案(CNI 插件)主要有下面几种,按使用频率和推荐程度来说:


一、最常用、最推荐的网络方案

1️⃣ Calico(强烈推荐)

适用场景:生产环境、对网络性能和安全有要求

特点

  • 支持 BGP 模式(性能好,接近原生网络)
  • 支持 NetworkPolicy(网络策略)
  • 稳定、成熟、文档丰富
  • 不依赖 overlay(可选)

部署简单

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

CentOS + kubeadm 部署首选


2️⃣ Flannel(适合入门 / 测试)

适用场景:学习、测试、简单集群

特点

  • 配置简单
  • 基于 VXLAN(overlay)
  • 不支持 NetworkPolicy(默认)

部署

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

⚠️ 生产环境不太推荐,但非常稳


二、其他常见方案

3️⃣ Cilium(新一代,性能强)

适用场景:高性能、eBPF、云原生安全

特点

  • 基于 eBPF
  • 性能优于 iptables
  • 支持 NetworkPolicy + 可观测性
  • 内核要求稍高(建议 CentOS 7.9+ / 8+)
kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/v1.14/install/kubernetes/quick-install.yaml

✅ 新项目、高版本内核推荐


4️⃣ Weave Net(老牌但用得少了)

  • 配置简单
  • 性能一般
  • 社区活跃度下降

三、CentOS 部署时注意事项(很重要)

✅ 内核 & 系统要求

  • CentOS 7.9 / 8 / Stream 都 OK
  • 建议关闭 firewall / SELinux(或正确放行)
  • 开启 br_netfilter
modprobe br_netfilter
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

✅ kubeadm 初始化示例(Calico)

kubeadm init --pod-network-cidr=192.168.0.0/16

(Calico 默认用 192.168.0.0/16


四、怎么选?

场景 推荐
学习 / 测试 Flannel
生产环境 Calico
高性能 / 新内核 Cilium
云厂商 云自带 CNI

如果你愿意,我可以:

  • 给你一套 CentOS 7 + kubeadm + Calico 完整部署步骤
  • 或根据你的 CentOS 版本 / 是否离线 / 是否云服务器 推荐具体方案

你现在是 CentOS 几?单节点还是多节点?

0