Skip to content

默认子网

oilbeater edited this page Jun 27, 2022 · 3 revisions

Wiki 下的中文文档将不在维护,请访问我们最新的中文文档网站,获取最新的文档更新。

Kube-OVN 中以子网来组织 IP,每个 Namespace 可以归属于不同的子网,Namespace 下的 Pod 会自动从所属的子网中获取 IP 并共享子网的网络配置(CIDR,网关类型,访问控制,NAT控制等)。

为了方便用户的快速上手使用,Kube-OVN 内置了一个默认子网,所有未显式声明子网归属的 Namespace 会自动从默认子网中分配 IP,并使用默认子网的网络信息。其中默认子网使用了分布式网关并对出网流量进行 NAT 转换,其行为和 flannel 的默认行为一致,用户无需额外的配置即可使用到大部分的网络功能。

默认子网查看

默认子网 spec 中的 default 字段为 true,一个集群下只有一个默认子网,且创建后无法更改。

查看默认子网:

[root@node2 ~]# kubectl get subnet ovn-default -o yaml
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
  creationTimestamp: "2019-08-06T09:33:43Z"
  generation: 1
  name: ovn-default
  resourceVersion: "1571334"
  selfLink: /apis/kubeovn.io/v1/subnets/ovn-default
  uid: 7e2451f8-fb44-4f7f-b3e0-cfd27f6fd5d6
spec:
  cidrBlock: 10.16.0.0/16
  default: true
  excludeIps:
  - 10.16.0.1
  gateway: 10.16.0.1
  gatewayType: distributed
  natOutgoing: true
  private: false
  protocol: IPv4

默认子网修改

默认子网的配置需要在安装时指定,请参考配置内置网络

在默认子网下创建 Pod

[root@node2 yamls]# kubectl run nginx --image=nginx:alpine
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx created
[root@node2 yamls]# kubectl get pod -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP          NODE    NOMINATED NODE   READINESS GATES
nginx-74d5899f46-d7qkn   1/1     Running   0          8s    10.16.0.2   node3   <none>           <none>
Clone this wiki locally