在 Kube-OVN 中我们通过子网组织 IP,一个或多个 Namespace 可以被绑定到一个子网中,这些 Namespace 下的 Pod 将会从该子网中分配 IP,并使用子网下的网络配置(网关,访问控制,nat 等)。
这里我们创建一个最简单的子网,只包含 CIDR,网关以及保留 IP 的信息,其他的高级配置,会在后续的教程中介绍。
创建子网
- cat <<EOF | kubectl create -f -
- apiVersion: kubeovn.io/v1
- kind: Subnet
- metadata:
- name: ls1
- spec:
- protocol: IPv4
- cidrBlock: 10.66.0.0/16
- excludeIps:
- - 10.66.0.1..10.66.0.10
- gateway: 10.66.0.1
- namespaces:
- - ls1
- EOF
创建 namespace 和 pod 验证子网生效
- [root@node2 yamls]# kubectl create ns ls1
- namespace/ls1 created
- [root@node2 yamls]# kubectl run nginx --image=nginx:alpine -n ls1
- deployment.apps/nginx created
- [root@node2 yamls]# kubectl get pod -n ls1 -o wide
- NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
- nginx-74d5899f46-n8wtg 1/1 Running 0 10s 10.66.0.11 node1 <none> <none>