Calico 网络插件
Calico 是高性能的网络插件,支持纯 IP 网络(BGP 模式),提供网络策略和安全功能。最新版本还支持 eBPF 进一步提升性能。
网络插件对比
| 特性 | Calico | Cilium | Flannel |
|---|---|---|---|
| 性能 | 高(BGP/eBPF) | 高(eBPF) | 中 |
| 网络策略 | 丰富 | 高级安全 | 不支持 |
| 适用场景 | 大规模生产环境 | 大规模,关注安全 | 小型集群/学习 |
| 安装复杂度 | 简单(CRD 管理) | 中等(需新内核) | 最简单 |
安装(kubeadm 方式)
安装 Tigera Operator
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/tigera-operator.yaml
# 查看命名空间
kubectl get ns
# 查看 Pod 状态
kubectl get pods -n tigera-operator
bash
配置 Calico
下载并修改配置文件:
# calico.yml
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
name: default
spec:
calicoNetwork:
ipPools:
- name: default-ipv4-ippool
blockSize: 26
cidr: 10.244.0.0/16 # 需与 kubeadm 配置的 podSubnet 一致
encapsulation: VXLANCrossSubnet
natOutgoing: Enabled
nodeSelector: all()
---
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
name: default
spec: {}
yaml
应用配置:
kubectl apply -f calico.yml
bash
安装(二进制方式)
二进制安装方式同样使用 Tigera Operator:
# 安装 Operator
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/tigera-operator.yaml
# 下载自定义资源配置
wget https://raw.githubusercontent.com/projectcalico/calico/v3.28.1/manifests/custom-resources.yaml
# 修改 cidr 后应用
kubectl apply -f custom-resources.yaml
bash
验证
# 查看安装进度
watch -n 2 kubectl get pods -n calico-system
# 查看节点状态(应变为 Ready)
kubectl get nodes
# 查看 kube-system Pod
kubectl get pods -n kube-system
kubectl get pods -n kube-system -o wide
bash
↑