From 279fc27b365e0b267319ad342fa16370a00921eb Mon Sep 17 00:00:00 2001 From: dcwbq Date: Mon, 13 Nov 2023 16:25:21 +0800 Subject: [PATCH] modify some documents Signed-off-by: dcwbq --- docs/reference/EgressClusterPolicy.zh.md | 8 ++++- docs/reference/EgressGateway.zh.md | 39 ++++++++++++----------- docs/reference/EgressPolicy.zh.md | 40 +++++++++++++----------- 3 files changed, 48 insertions(+), 39 deletions(-) diff --git a/docs/reference/EgressClusterPolicy.zh.md b/docs/reference/EgressClusterPolicy.zh.md index ea2d7b9d5..0a3394557 100644 --- a/docs/reference/EgressClusterPolicy.zh.md +++ b/docs/reference/EgressClusterPolicy.zh.md @@ -1,4 +1,4 @@ -EgressClusterPolicy CRD 用于定义集群级 Egress 策略规则,与 [EgressPolicy](EgressPolicy.zh.md) CRD 类似,但增加了 `spec.appliedTo.namespaceSelector` 属性。 +EgressClusterPolicy CRD 用于定义集群级 Egress 策略规则,与 [EgressPolicy](EgressPolicy.zh.md) CRD 类似,但增加了 `spec.appliedTo.namespaceSelector` 字段,其他字段与 EgressPolicy 一致。 ```yaml apiVersion: egressgateway.spidernet.io/v1beta1 @@ -12,6 +12,7 @@ spec: ipv4: "" ipv6: "" useNodeIP: false + allocatorPolicy: default appliedTo: podSelector: matchLabels: @@ -25,6 +26,11 @@ spec: destSubnet: - "10.6.1.92/32" - "fd00::92/128" +status: + eip: + ipv4: 172.18.1.2 + ipv6: fc00:f853:ccd::9 + node: egressgateway-worker ``` 1. `namespaceSelector` 使用 selector 选择匹配的命名空间列表。在选定的命名空间范围内,使用 `podSelector` 选择匹配的 Pod,然后对这些选中的 Pod 应用 Egress 策略。 diff --git a/docs/reference/EgressGateway.zh.md b/docs/reference/EgressGateway.zh.md index 38cfca8ae..5e25494f4 100644 --- a/docs/reference/EgressGateway.zh.md +++ b/docs/reference/EgressGateway.zh.md @@ -20,16 +20,17 @@ spec: matchLabels: egress: "true" policy: "doing" # (8) + clusterDefault: false # (9) status: - nodeList: # (9) - - name: "node1" # (10) - status: "Ready" # (11) - epis: # (12) - - ipv4: "10.6.1.55" # (13) - ipv6: "fd00::55" # (14) - policies: # (15) - - name: "app" # (16) - namespace: "default" # (17) + nodeList: # (10) + - name: "node1" # (11) + status: "Ready" # (12) + epis: # (13) + - ipv4: "10.6.1.55" # (14) + ipv6: "fd00::55" # (15) + policies: # (16) + - name: "app" # (17) + namespace: "default" # (18) ``` 1. 设置 EgressGateway 可使用的 Egress IP 池的范围; @@ -40,13 +41,13 @@ status: 6. 设置 Egress 节点的匹配条件和策略; 7. 通过 Selector 选择一组节点作为 Egress 节点,Egress IP 可在此范围内浮动; 8. EgressGateway 选择 Egress 节点的策略,目前仅支持平均选择; -9. 节点选择器选择的 Egress 节点,以及节点上有效的 Egress IP,以及使用该 Egress IP 的 EgressPolicy; -10. Egress 节点的名称; -11. Egress 节点对应的 EgressTunnel 对象的状态; -12. 此 Egress 节点上有效的 EIP 信息; -13. Egress IPv4,如果 EgressPolicy 和 EgressClusterPolicy 使用节点 IP,则此字段为空; -14. Egress IPv6,在双栈情况下,IPv4 和 IPv6 一一对应; -15. 哪些策略使用此节点上的有效 Egress IP; -16. 使用 Egress IP 的策略名称; -17. 使用 Egress IP 的策略的命名空间。 - +9. 默认为 `false`,当为 `true` 时,作为全局唯一的默认 egw。 +10. 节点选择器选择的 Egress 节点,以及节点上有效的 Egress IP,以及使用该 Egress IP 的 EgressPolicy; +11. Egress 节点的名称; +12. Egress 节点对应的 EgressTunnel 对象的状态; +13. 此 Egress 节点上有效的 EIP 信息; +14. Egress IPv4,如果 EgressPolicy 和 EgressClusterPolicy 使用节点 IP,则此字段为空; +15. Egress IPv6,在双栈情况下,IPv4 和 IPv6 一一对应; +16. 哪些策略使用此节点上的有效 Egress IP; +17. 使用 Egress IP 的策略名称; +18. 使用 Egress IP 的策略的命名空间。 diff --git a/docs/reference/EgressPolicy.zh.md b/docs/reference/EgressPolicy.zh.md index c5e353734..73511f36e 100644 --- a/docs/reference/EgressPolicy.zh.md +++ b/docs/reference/EgressPolicy.zh.md @@ -7,40 +7,42 @@ metadata: namespace: "default" name: "policy-test" spec: - egressGatewayName: "eg1" # (1) - egressIP: # (2) + egressGatewayName: "eg1" # (1) + egressIP: # (2) ipv4: "" ipv6: "" - useNodeIP: false # (3) + useNodeIP: false # (3) + allocatorPolicy: default # (4) appliedTo: - podSelector: # (4) + podSelector: # (5) matchLabels: app: "shopping" - podSubnet: # (5) + podSubnet: # (6) - "172.29.16.0/24" - 'fd00:1/126' - destSubnet: # (6) + destSubnet: # (7) - "10.6.1.92/32" - "fd00::92/128" - priority: 100 # (7) + priority: 100 # (8) status: - eip: # (8) + eip: # (9) ipv4: 172.18.1.2 - ipv6: fc00:f853:ccd:e793::9 - node: egressgateway-worker # (9) + ipv6: fc00:f853:ccd::9 + node: egressgateway-worker # (10) ``` 1. 选择 EgressPolicy 引用的 EgressGateway: 2. Egress IP 表示 EgressPolicy 所使用的 EgressIP 设置: - * 若在创建时定义了 `ipv4` 或 `ipv6` 地址,则从 EgressGateway 的 `.ippools` 中分配一个 IP 地址,若在 policy1 中,申请使用了 IP 地址 `10.6.1.21` 和 `fd00:1` ,然后创建 policy2 中,申请使用了 IP 地址 `10.6.1.21` 和 `fd00:2`,则会报错,此时 policy2 会分配失败; + * 若在创建时定义了 `ipv4` 或 `ipv6` 地址,则从 EgressGateway 的 `.ippools` 中分配一个 IP 地址,若在 policy1 中,申请使用了 IP 地址 `10.6.1.21` 和 `fd00:1` ,然后创建 policy2 中,申请使用了 IP 地址 `10.6.1.21` 和 `fd00:2`,则会报错,此时 policy2 会分配失败,因为已分配的 `ipv4` 与 `ipv6` 地址会一一绑定,再次使用时,需要同时使用。如果只指定一者,会自动使用对应的另一者; * 若未定义 `ipv4` 或 `ipv6` 地址,且 `useNodeIP` 为 true 时,则使用所引用的 EgressGateway 匹配的 Node IP 作为 Egress 地址; - * 若未在创建时定义 `ipv4` 或 `ipv6` 地址,且 `useNodeIP` 为 `false` 时; - * 则自动从 EgressGateway 的 `.ranges` 中分配一个 IP 地址(开启 IPv6 时,请求分配一个 IPv4 和 一个 IPv6 地址)。 * `egressGatewayName` 不能为空。 3. 支持使用节点 IP 作为 Egress IP(只允许选择一种); -4. 以 Label 的方式选择需要应用 EgressPolicy 的 Pod; -5. 通过直接指定 Pod 的网段选择需要应用 EgressPolicy 的 Pod(4 和 5 不能同时使用) -6. 指定访问 Egress 的目标地址,若未指定目标地址,则以下策略将生效:对于那些目标地址不属于集群内部 CIDR 的请求,将全部转发到 Egress 节点。 -7. 策略的优先级。 -8. 该 EgressPolicy 所分配到的 EgressIP -9. 该 EgressPolicy 的 EgressIP 所在的节点,同时也是该 EgressPolicy 的网关节点 \ No newline at end of file +4. 默认为 `default` 模式,若未在创建时定义 `ipv4` 或 `ipv6` 地址,且 `useNodeIP` 为 `false` 时; + * 为 `default` 时,则使用 EgressGateway 的 `.ippools.ipv4DefaultEIP/ipv6DefaultEIP` 值作为 EIP + * 为 `rr` 时,则从 EgressGateway 的 `.ippools` 中随机分配一个未使用的 IP 地址(开启 IPv6 时,请求分配一个 IPv4 和 一个 IPv6 地址)。如果所有 IP 地址都被使用时,则 EIP 分配失败。 +5. 以 Label 的方式选择需要应用 EgressPolicy 的 Pod; +6. 通过直接指定 Pod 的网段选择需要应用 EgressPolicy 的 Pod(4 和 5 不能同时使用) +7. 指定访问 Egress 的目标地址,若未指定目标地址,则以下策略将生效:对于那些目标地址不属于集群内部 CIDR 的请求,将全部转发到 Egress 节点。 +8. 策略的优先级(未实现,保留字段)。 +9. 该 EgressPolicy 所分配到的 EgressIP。 +10. 该 EgressPolicy 的 EgressIP 所在的节点,同时也是该 EgressPolicy 的网关节点。