在CentOS上部署Kubernetes(k8s)网络插件,可以按照以下步骤进行:
Calico是一个流行的Kubernetes网络插件,支持多种网络模式(如BGP、IPIP、VXLAN)。
下载Calico的YAML文件:
curl -O https://docs.projectcalico.org/v3.25/manifests/calico.yaml
应用YAML文件:
kubectl apply -f calico.yaml
curl -s https://docs.projectcalico.org/manifests/calico.yaml | kubectl apply -f -
检查Calico Pod状态:
kubectl get pods -n kube-system | grep calico
所有Calico Pod应该都处于Running状态。
检查Calico网络策略:
kubectl get networkpolicy -n kube-system
如果没有网络策略,可以创建一个简单的测试策略:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-same-namespace
namespace: default
spec:
podSelector: {}
ingress:
- from:
- podSelector: {}
ports:
- protocol: TCP
port: 6443
应用策略:
kubectl apply -f test-network-policy.yaml
Calico支持多种网络模式,可以在calico.yaml文件中进行配置。例如,启用IPIP模式:
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
name: default-egress-ipip
spec:
selector: all()
types:
- Ingress
- Egress
egress:
- action: Allow
protocol: IPIP
destination:
nets:
- 10.244.0.0/16
确保Calico版本与你的Kubernetes版本兼容。可以在Calico官方文档中找到兼容性信息。
使用Calico提供的监控工具和日志来调试网络问题:
kubectl logs -n kube-system <calico-pod-name>
calicoctl get nodes
calicoctl get pods -n kube-system
通过以上步骤,你应该能够在CentOS上成功部署和配置Kubernetes网络插件Calico。根据实际需求,你可以选择其他网络插件并进行相应的配置。