在 Kube-OVN 中我们通过子网组织 IP,一个或多个 Namespace 可以被绑定到一个子网中,这些 Namespace 下的 Pod 将会从该子网中分配 IP,并使用子网下的网络配置(网关,访问控制,nat 等)。

这里我们创建一个最简单的子网,只包含 CIDR,网关以及保留 IP 的信息,其他的高级配置,会在后续的教程中介绍。

创建子网

  1. cat <<EOF | kubectl create -f -
  2. apiVersion: kubeovn.io/v1
  3. kind: Subnet
  4. metadata:
  5. name: ls1
  6. spec:
  7. protocol: IPv4
  8. cidrBlock: 10.66.0.0/16
  9. excludeIps:
  10. - 10.66.0.1..10.66.0.10
  11. gateway: 10.66.0.1
  12. namespaces:
  13. - ls1
  14. EOF

创建 namespace 和 pod 验证子网生效

  1. [root@node2 yamls]# kubectl create ns ls1
  2. namespace/ls1 created
  3.  
  4. [root@node2 yamls]# kubectl run nginx --image=nginx:alpine -n ls1
  5. deployment.apps/nginx created
  6.  
  7. [root@node2 yamls]# kubectl get pod -n ls1 -o wide
  8. NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
  9. nginx-74d5899f46-n8wtg 1/1 Running 0 10s 10.66.0.11 node1 <none> <none>