CRD EgressClusterInfo
EgressClusterInfo CRD 为了简化 Egress 策略的配置,引入 Egress Ignore CIDR 功能,允许自动获取集群的 CIDR。当 EgressGatewayPolicy 的 destSubnet 字段为空时,数据面将会自动匹配 EgressClusterStatus CR 中的 CIDR 之外的流量,并将其转发到 Egress 网关。
apiVersion: egressgateway.spidernet.io/v1beta1
kind: EgressClusterInfo
metadata:
name: default # 1
spec:
autoDetect:
clusterIP: true # 2
nodeIP: true # 3
podCidrMode: auto # 4
extraCidr: # 5
- 10.10.10.1
status:
clusterIP: # 6
ipv4:
- 172.41.0.0/16
ipv6:
- fd41::/108
extraCidr: # 7
- 10.10.10.1
nodeIP: # 8
egressgateway-control-plane:
ipv4:
- 172.18.0.3
ipv6:
- fc00:f853:ccd:e793::3
egressgateway-worker:
ipv4:
- 172.18.0.2
ipv6:
- fc00:f853:ccd:e793::2
egressgateway-worker2:
ipv4:
- 172.18.0.4
ipv6:
- fc00:f853:ccd:e793::4
podCIDR: # 9
default-ipv4-ippool:
ipv4:
- 172.40.0.0/16
default-ipv6-ippool:
ipv6:
- fd40::/48
test-ippool:
ipv4:
- 177.70.0.0/16
podCidrMode: calico # 10
- 名称为
default,由系统维护只能创建一个; clusterIP,如果设置为true,Service CIDR会自动检测nodeIP,如果设置为true,会自动检测nodeIP相关变化,并动态更新到EgressClusterInfo的status.nodeIP中podCidrMode,目前支持k8s、calico、auto、"",表示要自动检测对应的 podCidr,默认为auto,如果为auto表示自动检测集群使用的 cni, 如果检测不到,则使用 集群的 podCidr。如果为""表示不检测extraCidr,可手动填写要忽略掉的IP集合status.clusterIP,如果spec.autoDetect.clusterIP为true,则自动检测集群Service CIDR,并更新到此处status.extraCidr,对应spec.extraCidrstatus.nodeIP,如果spec.autoDetect.nodeIP为true,则自动检测集群nodeIP,并更新到此处status.podCIDR,对应spec.autoDetect.podCidrMode,进行相关podCidr的更新status.podCidrMode,对应spec.autoDetect.podCidrMode为auto的场景