第 8 章 Endpoints [v1]
- 描述
端点是实施实际服务的端点集合。Example:
Name: "mysvc", Subsets: [ { Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }, { Addresses: [{"ip": "10.10.3.3"}], Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] }, ]
- 类型
-
对象
8.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 | |
|
| 所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。 |
|
| EndpointSubset 是一组具有一组通用端口的地址。扩展的端点集是 Addresses x Ports 的 Cartesian 产品。例如,给定: { addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] } 生成的端点集可视为: a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ] |
8.1.1. .subsets
- 描述
- 所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。
- 类型
-
array
8.1.2. .subsets[]
- 描述
EndpointSubset 是一组具有一组通用端口的地址。扩展的端点集是 Addresses x Ports 的 Cartesian 产品。例如,给定:
{ Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }
生成的端点集可视为:
a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。 |
|
| EndpointAddress 是一个描述单个 IP 地址的元组。 |
|
| 提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。 |
|
| EndpointAddress 是一个描述单个 IP 地址的元组。 |
|
| 相关 IP 地址上可用的端口号。 |
|
| EndpointPort 是一个描述单个端口的元组。 |
8.1.3. .subsets[].addresses
- 描述
- 提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。
- 类型
-
array
8.1.4. .subsets[].addresses[]
- 描述
- EndpointAddress 是一个描述单个 IP 地址的元组。
- 类型
-
object
- 必填
-
ip
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的主机名 |
|
| 此端点的 IP。可能不能是 loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10)或 link-local multicast (224.0.0.0/24 或 ff02::/16)。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
8.1.5. .subsets[].addresses[].targetRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
8.1.6. .subsets[].notReadyAddresses
- 描述
- 提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。
- 类型
-
array
8.1.7. .subsets[].notReadyAddresses[]
- 描述
- EndpointAddress 是一个描述单个 IP 地址的元组。
- 类型
-
object
- 必填
-
ip
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的主机名 |
|
| 此端点的 IP。可能不能是 loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10)或 link-local multicast (224.0.0.0/24 或 ff02::/16)。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
8.1.8. .subsets[].notReadyAddresses[].targetRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
8.1.9. .subsets[].ports
- 描述
- 相关 IP 地址上可用的端口号。
- 类型
-
array
8.1.10. .subsets[].ports[]
- 描述
- EndpointPort 是一个描述单个端口的元组。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。这用作实现的提示,以便为它们理解的协议提供更丰富的行为。此字段遵循标准 Kubernetes 标签语法。有效值为: * 未前缀的协议名称 - 为 IANA 标准服务名称保留(如 RFC-6335 和 https://www.iana.org/assignments/service-names)。 * Kubernetes 定义的前缀名称:* 'kubernetes.io/h2c' - HTTP/2 over cleartext,如 https://www.rfc-editor.org/rfc/rfc7540 'kubernetes.io/ws' - WebSocket over cleartext 所述,如 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS 所述 * 其他协议应使用定义实施的前缀名称,如 mycompany.com/my-custom-protocol。 |
|
| 此端口的名称。这必须与对应的 ServicePort 中的 'name' 字段匹配。必须是 DNS_LABEL。仅在定义了一个端口时才可选。 |
|
| 端点的端口号。 |
|
| 此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。
可能枚举值: - |