第 6 章 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}] }, ]
- 类型
-
对象
6.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 ] |
6.1.1. .subsets
- 描述
- 所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。
- 类型
-
array
6.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 是一个描述单个端口的元组。 |
6.1.3. .subsets[].addresses
- 描述
- 提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。
- 类型
-
array
6.1.4. .subsets[].addresses[]
- 描述
- EndpointAddress 是一个描述单个 IP 地址的元组。
- 类型
-
object
- 必填
-
ip
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的主机名 |
|
| 此端点的 IP。可能不能是 loopback (127.0.0.0/8), link-local (169.254.0.0/16), 或 link-local multicast ((224.0.0.0/24)。IPv6 也被接受,但不在所有平台上获得全面支持。另外,某些 kubernetes 组件(如 kube-proxy)未就绪。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
6.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 |
6.1.6. .subsets[].notReadyAddresses
- 描述
- 提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。
- 类型
-
array
6.1.7. .subsets[].notReadyAddresses[]
- 描述
- EndpointAddress 是一个描述单个 IP 地址的元组。
- 类型
-
object
- 必填
-
ip
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的主机名 |
|
| 此端点的 IP。可能不能是 loopback (127.0.0.0/8), link-local (169.254.0.0/16), 或 link-local multicast ((224.0.0.0/24)。IPv6 也被接受,但不在所有平台上获得全面支持。另外,某些 kubernetes 组件(如 kube-proxy)未就绪。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
6.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 |
6.1.9. .subsets[].ports
- 描述
- 相关 IP 地址上可用的端口号。
- 类型
-
array
6.1.10. .subsets[].ports[]
- 描述
- EndpointPort 是一个描述单个端口的元组。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。此字段遵循标准 Kubernetes 标签语法。未前缀的名称为 IANA 标准服务名称保留(如 RFC-6335 和 https://www.iana.org/assignments/service-names)。非标准协议应使用前缀名称,如 mycompany.com/my-custom-protocol。 |
|
| 此端口的名称。这必须与对应的 ServicePort 中的 'name' 字段匹配。必须是 DNS_LABEL。仅在定义了一个端口时才可选。 |
|
| 端点的端口号。 |
|
| 此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。
可能枚举值: - |