第 10 章 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}]
   },
]
类型
对象

10.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

子集

array

所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。

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 ]

10.1.1. .subsets

描述
所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。
类型
array

10.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
属性类型描述

addresses

array

提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。

addresses[]

对象

EndpointAddress 是一个描述单个 IP 地址的元组。

notReadyAddresses

array

提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。

notReadyAddresses[]

对象

EndpointAddress 是一个描述单个 IP 地址的元组。

ports

array

相关 IP 地址上可用的端口号。

ports[]

对象

EndpointPort 是一个描述单个端口的元组。

10.1.3. .subsets[].addresses

描述
提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。
类型
array

10.1.4. .subsets[].addresses[]

描述
EndpointAddress 是一个描述单个 IP 地址的元组。
类型
object
必填
  • ip
属性类型描述

hostname

字符串

此端点的主机名

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)。

nodeName

字符串

可选:托管此端点的节点。这可用于确定本地到节点的端点。

targetRef

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

10.1.5. .subsets[].addresses[].targetRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

10.1.6. .subsets[].notReadyAddresses

描述
提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。
类型
array

10.1.7. .subsets[].notReadyAddresses[]

描述
EndpointAddress 是一个描述单个 IP 地址的元组。
类型
object
必填
  • ip
属性类型描述

hostname

字符串

此端点的主机名

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)。

nodeName

字符串

可选:托管此端点的节点。这可用于确定本地到节点的端点。

targetRef

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

10.1.8. .subsets[].notReadyAddresses[].targetRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

10.1.9. .subsets[].ports

描述
相关 IP 地址上可用的端口号。
类型
array

10.1.10. .subsets[].ports[]

描述
EndpointPort 是一个描述单个端口的元组。
类型
object
必填
  • port
属性类型描述

appProtocol

字符串

此端口的应用程序协议。这用作实现的提示,以便为它们理解的协议提供更丰富的行为。此字段遵循标准 Kubernetes 标签语法。有效值为:

* 未前缀的协议名称 - 为 IANA 标准服务名称保留(如 RFC-6335 和 https://www.iana.org/assignments/service-names)。

* Kubernetes-defined prefixed name: * 'kubernetes.io/h2c' - HTTP/2 before knowledge overtext as https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * '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。仅在定义了一个端口时才可选。

port

整数

端点的端口号。

protocol

字符串

此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。

可能枚举值: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.