Kube-OVN 网络插件
Kube-OVN 基于 OVN/OVS 提供 Kubernetes 网络、子网、VPC、静态 IP、QoS、网络策略和双栈。它适合需要固定 IP、租户隔离和传统网络对接的场景。
核心概念:ProviderNetwork、VPC、Subnet、IPPool、NetworkAttachmentDefinition 和 OVN 逻辑网络。
安装:
helm repo add kubeovn https://kubeovn.github.io/kube-ovn/
helm install kube-ovn kubeovn/kube-ovn \
--namespace kube-system \
--set networking.podSubnet=10.16.0.0/16
kubectl -n kube-system get pods -l app=kube-ovn
创建子网:
kubectl apply -f - <<'EOF'
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
name: demo-subnet
spec:
protocol: IPv4
cidrBlock: 10.20.0.0/24
gateway: 10.20.0.1
vpc: demo-vpc
namespaces:
- demo
EOF
创建 VPC:
kubectl apply -f - <<'EOF'
apiVersion: kubeovn.io/v1
kind: Vpc
metadata:
name: demo-vpc
spec:
namespaces:
- demo
EOF
固定 IP:
kubectl apply -f - <<'EOF'
apiVersion: v1
kind: Pod
metadata:
name: fixed-ip
namespace: demo
annotations:
ovn.kubernetes.io/ip_address: 10.20.0.10
spec:
containers:
- name: app
image: nginx
EOF
查看网络资源:
kubectl get subnet
kubectl get vpc
kubectl get ippool
kubectl get pod -n demo -o wide
kubectl get subnet,vpc,ippool — 查看网络资源kubectl get pods -n kube-system -l app=kube-ovn — 查看组件kubectl describe pod — 查看 IP 分配事件kubectl ko — Kube-OVN 诊断脚本(如已安装)ovn-nbctl / ovs-vsctl — 底层 OVN/OVS 排查