Ingress 是规则的集合,这些规则允许入站连接到达后端定义的端点。可以配置 Ingress 以向服务提供外部可访问的 URL、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等。
Ingress 是规则的集合,这些规则允许入站连接到达后端定义的端点。可以配置 Ingress 以向服务提供外部可访问的 URL、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的此表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰式命名法。更多信息: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 |
|
|
|
IngressSpec 描述了用户希望存在的 Ingress。 |
|
|
IngressStatus 描述了 Ingress 的当前状态。 |
IngressSpec 描述了用户希望存在的 Ingress。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
IngressBackend 描述了给定服务和端口的所有端点。 |
|
|
ingressClassName 是 IngressClass 集群资源的名称。Ingress 控制器实现使用此字段来确定是否应该通过传递连接(控制器 → IngressClass → Ingress 资源)来服务此 Ingress 资源。虽然 |
|
|
rules 是用于配置 Ingress 的主机规则列表。如果未指定,或没有规则匹配,则所有流量都将发送到默认后端。 |
|
|
IngressRule 表示将指定主机下的路径映射到相关后端服务的规则。传入请求首先根据主机匹配进行评估,然后路由到与匹配的 IngressRuleValue 关联的后端。 |
|
|
tls 表示 TLS 配置。目前 Ingress 只支持单个 TLS 端口 443。如果此列表中的多个成员指定不同的主机,则它们将根据通过 SNI TLS 扩展指定的 hostname 在同一端口上进行多路复用,前提是实现 Ingress 的 Ingress 控制器支持 SNI。 |
|
|
IngressTLS 描述与 Ingress 关联的传输层安全。 |
IngressBackend 描述了给定服务和端口的所有端点。
对象
属性 | 类型 | 描述 |
---|---|---|
|
resource 是对 Ingress 对象命名空间中另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则不得指定 service.Name 和 service.Port。这是与“Service”互斥的设置。 |
|
|
|
IngressServiceBackend 将 Kubernetes 服务引用为后端。 |
IngressServiceBackend 将 Kubernetes 服务引用为后端。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是引用的服务。该服务必须存在于与 Ingress 对象相同的命名空间中。 |
|
|
ServiceBackendPort 是被引用的服务端口。 |
ServiceBackendPort 是被引用的服务端口。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是服务上端口的名称。这是与“Number”互斥的设置。 |
|
|
number 是服务上的数值端口号(例如 80)。这是与“Name”互斥的设置。 |
IngressRule 表示将指定主机下的路径映射到相关后端服务的规则。传入请求首先根据主机匹配进行评估,然后路由到与匹配的 IngressRuleValue 关联的后端。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
host 是网络主机的完全限定域名,如 RFC 3986 中所定义。请注意以下与 RFC 3986 中定义的 URI 的“host”部分的偏差:1. 不允许使用 IP 地址。目前,IngressRuleValue 只能应用于父 Ingress 的 Spec 中的 IP。2. 不考虑 host 可以是“精确的”,这是一个没有网络主机终止点的域名的(例如,“foo.bar.com”),也可以是“通配符”,这是一个以单个通配符标签为前缀的域名(例如,“.foo.com”)。通配符字符''必须单独出现在第一个 DNS 标签中,并且只匹配单个标签。您不能单独使用通配符标签(例如,Host == "*")。将按照以下方式将请求与 Host 字段进行匹配:1. 如果 host 是精确的,则如果 http host 标头等于 Host,则请求匹配此规则。2. 如果 host 是通配符,则如果 http host 标头等于通配符规则的后缀(移除第一个标签),则请求匹配此规则。 |
|
|
HTTPIngressRuleValue 是指向后端的 http 选择器列表。在示例中:http://<host>/<path>?<searchpart>;→ 后端,其中 url 的部分对应于 RFC 3986,此资源将用于匹配最后一个 '/' 之后和第一个 '?' 或 '#' 之前的全部内容。 |
HTTPIngressRuleValue 是指向后端的 http 选择器列表。在示例中:http://<host>/<path>?<searchpart>;→ 后端,其中 url 的部分对应于 RFC 3986,此资源将用于匹配最后一个 '/' 之后和第一个 '?' 或 '#' 之前的全部内容。
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
paths 是将请求映射到后端的路径集合。 |
|
|
HTTPIngressPath 将路径与后端关联。与路径匹配的传入 url 将转发到后端。 |
HTTPIngressPath 将路径与后端关联。与路径匹配的传入 url 将转发到后端。
对象
pathType
后端
属性 | 类型 | 描述 |
---|---|---|
|
|
IngressBackend 描述了给定服务和端口的所有端点。 |
|
|
path 与传入请求的路径匹配。目前,它可以包含 RFC 3986 中定义的 URL 的常规“path”部分不允许的字符。路径必须以 '/' 开头,并且在使用值为“Exact”或“Prefix”的 PathType 时必须存在。 |
|
|
pathType 确定路径匹配的解释。PathType 可以是以下值之一:* Exact:完全匹配 URL 路径。* Prefix:基于由 '/' 分隔的 URL 路径前缀进行匹配。匹配是在逐个路径元素的基础上完成的。路径元素指的是路径中由 '/' 分隔符分隔的标签列表。如果请求路径的每个 p 都是请求路径 p 的逐个元素的前缀,则请求与路径 p 匹配。请注意,如果路径的最后一个元素是请求路径中最后一个元素的子字符串,则它不匹配(例如,/foo/bar 匹配 /foo/bar/baz,但不匹配 /foo/barbaz)。* ImplementationSpecific:路径匹配的解释取决于 IngressClass。实现可以将其视为单独的 PathType,也可以将其与 Prefix 或 Exact 路径类型相同对待。实现需要支持所有路径类型。 可能的枚举值:- |
IngressBackend 描述了给定服务和端口的所有端点。
对象
属性 | 类型 | 描述 |
---|---|---|
|
resource 是对 Ingress 对象命名空间中另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则不得指定 service.Name 和 service.Port。这是与“Service”互斥的设置。 |
|
|
|
IngressServiceBackend 将 Kubernetes 服务引用为后端。 |
IngressServiceBackend 将 Kubernetes 服务引用为后端。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是引用的服务。该服务必须存在于与 Ingress 对象相同的命名空间中。 |
|
|
ServiceBackendPort 是被引用的服务端口。 |
ServiceBackendPort 是被引用的服务端口。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是服务上端口的名称。这是与“Number”互斥的设置。 |
|
|
number 是服务上的数值端口号(例如 80)。这是与“Name”互斥的设置。 |
tls 表示 TLS 配置。目前 Ingress 只支持单个 TLS 端口 443。如果此列表中的多个成员指定不同的主机,则它们将根据通过 SNI TLS 扩展指定的 hostname 在同一端口上进行多路复用,前提是实现 Ingress 的 Ingress 控制器支持 SNI。
数组
IngressTLS 描述与 Ingress 关联的传输层安全。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
hosts 是 TLS 证书中包含的主机列表。此列表中的值必须与 tlsSecret 中使用的名称匹配。如果未指定,则默认为实现此 Ingress 的负载均衡器控制器的通配符主机设置。 |
|
|
secretName 是用于在 443 端口终止 TLS 流量的密钥的名称。此字段是可选的,允许仅基于 SNI 主机名进行 TLS 路由。如果侦听器中的 SNI 主机与 IngressRule 使用的“Host”标头字段冲突,则使用 SNI 主机进行终止,并使用“Host”标头的值进行路由。 |
IngressStatus 描述了 Ingress 的当前状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
IngressLoadBalancerStatus 表示负载均衡器的状态。 |
IngressLoadBalancerStatus 表示负载均衡器的状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ingress 是一个包含负载均衡器入口点的列表。 |
|
|
IngressLoadBalancerIngress 表示负载均衡器入口点的状态。 |
IngressLoadBalancerIngress 表示负载均衡器入口点的状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
对于基于 DNS 的负载均衡器入口点,将设置 hostname。 |
|
|
对于基于 IP 的负载均衡器入口点,将设置 ip。 |
|
|
ports 提供有关此 LoadBalancer 公开的端口的信息。 |
|
|
IngressPortStatus 表示服务端口的错误状况。 |
IngressPortStatus 表示服务端口的错误状况。
对象
端口
protocol
属性 | 类型 | 描述 |
---|---|---|
|
|
error 用于记录服务端口的问题。错误的格式应符合以下规则:- 内置错误值应在此文件中指定,并应使用驼峰命名法 - 云提供商特定的错误值必须具有符合 foo.example.com/CamelCase 格式的名称。 |
|
|
port 是入口端口的端口号。 |
|
|
protocol 是入口端口的协议。支持的值为:“TCP”、“UDP”、“SCTP”。 可能的枚举值:- |
提供以下 API 端点
/apis/networking.k8s.io/v1/ingresses
GET
:列出或监视 Ingress 类型对象
/apis/networking.k8s.io/v1/watch/ingresses
GET
:监视 Ingress 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses
DELETE
:删除 Ingress 集合
GET
:列出或监视 Ingress 类型对象
POST
:创建 Ingress
/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses
GET
:监视 Ingress 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}
DELETE
:删除 Ingress
GET
:读取指定的 Ingress
PATCH
:部分更新指定的 Ingress
PUT
:替换指定的 Ingress
/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}
GET
:监视 Ingress 类型对象的更改。已弃用:改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status
GET
:读取指定 Ingress 的状态
PATCH
:部分更新指定 Ingress 的状态
PUT
:替换指定 Ingress 的状态
GET
列出或监视 Ingress 类型对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监视 Ingress 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 Ingress 集合
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监视 Ingress 类型对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何静默从对象中删除的未知字段,并将忽略解码器遇到的所有重复字段(最后一个除外)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监视 Ingress 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Ingress 的名称 |
DELETE
删除 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Ingress
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何静默从对象中删除的未知字段,并将忽略解码器遇到的所有重复字段(最后一个除外)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何静默从对象中删除的未知字段,并将忽略解码器遇到的所有重复字段(最后一个除外)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Ingress 的名称 |
GET
监听 Ingress 对象类型的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Ingress 的名称 |
GET
读取指定的 Ingress 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Ingress 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何静默从对象中删除的未知字段,并将忽略解码器遇到的所有重复字段(最后一个除外)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 Ingress 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何静默从对象中删除的未知字段,并将忽略解码器遇到的所有重复字段(最后一个除外)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |