第 17 章 Network [config.openshift.io/v1]
- 描述
-
网络包含有关网络的集群范围信息。规范名称
为集群
。它用于配置所需的网络配置,例如:用于服务/pod IP、网络插件等的 IP 地址池。有关配置此资源时的信息,请查看 network.spec。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。 - 类型
-
object
- 必填
-
spec
-
17.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec 包含用于配置的用户可设置值。作为一般规则,不会直接读取此 SHOULD。相反,您应该使用 NetworkStatus,因为它表示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个类别以了解每个人的更多详情。 |
|
| status 包含从集群中观察到的值。它们可能无法被覆盖。 |
17.1.1. .spec
- 描述
- spec 包含用于配置的用户可设置值。作为一般规则,不会直接读取此 SHOULD。相反,您应该使用 NetworkStatus,因为它表示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个类别以了解每个人的更多详情。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 用于 pod IP 的 IP 地址池。在安装后,此字段是不可变的。 |
|
| ClusterNetworkEntry 是从中分配 pod IP 地址的连续块。 |
|
| ExternalIP 为影响 Service.ExternalIP 的控制器定义配置。如果为 nil,则不允许设置 ExternalIP。 |
|
| networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果没有指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志被设置为 true,则会禁用网络诊断功能。 |
|
| networkType 是要部署的插件(如 OpenShiftSDN)。这应该与 cluster-network-operator 理解的值匹配,否则不会安装任何网络。目前支持的值有: - OpenShiftSDN this field after installation. |
|
| 服务的 IP 地址池.目前,我们只支持一个条目。在安装后,此字段是不可变的。 |
|
| 端口范围允许用于 NodePort 类型的服务。如果没有指定,则使用默认值 30000-32767。未指定 NodePort 的此类服务将从此范围内自动分配。可在安装集群后更新此参数。 |
17.1.2. .spec.clusterNetwork
- 描述
- 用于 pod IP 的 IP 地址池。在安装后,此字段是不可变的。
- 类型
-
array
17.1.3. .spec.clusterNetwork[]
- 描述
- ClusterNetworkEntry 是从中分配 pod IP 地址的连续块。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 的完整块。 |
|
| 分配给每个节点的块的大小(前缀)。如果插件没有使用此字段,则可以取消设置它。 |
17.1.4. .spec.externalIP
- 描述
- ExternalIP 为影响 Service.ExternalIP 的控制器定义配置。如果为 nil,则不允许设置 ExternalIP。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| autoAssignCIDRs 是自动分配 Service.ExternalIP 的 CIDR 列表。当服务是 LoadBalancer 类型时,会分配它们。通常,这仅适用于裸机集群。在 Openshift 3.x 中,这被误认为是"IngressIPs"。自动分配外部 IP 不会受到任何 ExternalIPPolicy 规则的影响。目前,只能提供一个条目。 |
|
| policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。 |
17.1.5. .spec.externalIP.policy
- 描述
- policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowedCIDRs 是允许的 CIDR 列表。 |
|
| rejectedCIDRs 是禁止的 CIDR 列表。它们优先于 allowedCIDRs。 |
17.1.6. .spec.networkDiagnostics
- 描述
- networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果没有指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志被设置为 true,则会禁用网络诊断功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 模式控制网络诊断模式时,这意味着用户没有建议,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前默认为 All。 |
|
| SourcePlacement 控制网络诊断源部署的调度,请参阅 NetworkDiagnosticsSourcePlacement 来了解有关默认值的更多详情。 |
|
| targetPlacement 控制网络诊断目标 daemonset 的调度,请参阅 NetworkDiagnosticsTargetPlacement 来了解有关默认值的更多详情。 |
17.1.7. .spec.networkDiagnostics.sourcePlacement
- 描述
- SourcePlacement 控制网络诊断源部署的调度,请参阅 NetworkDiagnosticsSourcePlacement 来了解有关默认值的更多详情。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
nodeSelector 是在省略时应用到网络诊断组件的节点选择器,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前默认为 |
|
| 容限(toleration)是在省略时应用到网络诊断组件的容限列表,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前的默认值是一个空列表。 |
|
| 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。 |
17.1.8. .spec.networkDiagnostics.sourcePlacement.tolerations
- 描述
- 容限(toleration)是在省略时应用到网络诊断组件的容限列表,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前的默认值是一个空列表。
- 类型
-
数组
17.1.9. .spec.networkDiagnostics.sourcePlacement.tolerations[]
- 描述
- 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。 |
|
| key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。 |
|
| Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。 |
|
| tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。 |
|
| value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。 |
17.1.10. .spec.networkDiagnostics.targetPlacement
- 描述
- targetPlacement 控制网络诊断目标 daemonset 的调度,请参阅 NetworkDiagnosticsTargetPlacement 来了解有关默认值的更多详情。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
nodeSelector 是在省略时应用到网络诊断组件的节点选择器,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前默认为 |
|
|
容限(toleration)是在省略时应用到网络诊断组件的容限列表,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前的默认 is |
|
| 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。 |
17.1.11. .spec.networkDiagnostics.targetPlacement.tolerations
- 描述
-
容限(toleration)是在省略时应用到网络诊断组件的容限列表,这意味着用户没有 opinion,平台会被保留为合理的默认值。这些默认值可能会随时间变化。当前的默认 is
- operator: "Exists"
,这意味着容许所有污点。 - 类型
-
数组
17.1.12. .spec.networkDiagnostics.targetPlacement.tolerations[]
- 描述
- 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。 |
|
| key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。 |
|
| Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。 |
|
| tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。 |
|
| value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。 |
17.1.13. .status
- 描述
- status 包含从集群中观察到的值。它们可能无法被覆盖。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 用于 pod IP 的 IP 地址池。 |
|
| ClusterNetworkEntry 是从中分配 pod IP 地址的连续块。 |
|
| clusterNetworkMTU 是 pod 网络间的 MTU。 |
|
| 条件代表 network.config 当前状态的观察。已知的 .status.conditions.type are: "NetworkTypeMigrationInProgress", "NetworkTypeMigrationMTUReady", "NetworkTypeMigrationTargetCNIAvailable", "NetworkTypeMigrationTargetCNIInUse", "NetworkTypeMigrationOriginalCNIPurged" 和 "NetworkDiagnosticsAvailable" |
|
|
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition |
|
| 迁移包含集群网络迁移配置。 |
|
| networkType 是部署的插件(如 OpenShiftSDN)。 |
|
| 服务的 IP 地址池.目前,我们只支持一个条目。 |
17.1.14. .status.clusterNetwork
- 描述
- 用于 pod IP 的 IP 地址池。
- 类型
-
array
17.1.15. .status.clusterNetwork[]
- 描述
- ClusterNetworkEntry 是从中分配 pod IP 地址的连续块。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 的完整块。 |
|
| 分配给每个节点的块的大小(前缀)。如果插件没有使用此字段,则可以取消设置它。 |
17.1.16. .status.conditions
- 描述
- 条件代表 network.config 当前状态的观察。已知的 .status.conditions.type are: "NetworkTypeMigrationInProgress", "NetworkTypeMigrationMTUReady", "NetworkTypeMigrationTargetCNIAvailable", "NetworkTypeMigrationTargetCNIInUse", "NetworkTypeMigrationOriginalCNIPurged" 和 "NetworkDiagnosticsAvailable"
- 类型
-
array
17.1.17. .status.conditions[]
- 描述
-
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition
json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"
// other fields } - 类型
-
object
- 必填
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt) |
17.1.18. .status.migration
- 描述
- 迁移包含集群网络迁移配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| MTU 包含 MTU 迁移配置。 |
|
| networkType 是要部署的目标插件。目前支持的值有: OpenShiftSDN、OVNKubernetes |
17.1.19. .status.migration.mtu
- 描述
- MTU 包含 MTU 迁移配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 机器包含机器的 uplink 的 MTU 迁移配置。 |
|
| network 包含 default 网络的 MTU 迁移配置。 |
17.1.20. .status.migration.mtu.machine
- 描述
- 机器包含机器的 uplink 的 MTU 迁移配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 是要从中迁移的 MTU。 |
|
| 要迁移到的 MTU。 |
17.1.21. .status.migration.mtu.network
- 描述
- network 包含 default 网络的 MTU 迁移配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 是要从中迁移的 MTU。 |
|
| 要迁移到的 MTU。 |