kubernetes 入门实践-ingress yaml文档

9 篇文章 2 订阅
4 篇文章 0 订阅

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(你在遇到挫折或暂时的失败时,你的解释方式将决定你会变得多无助或多斗志昂扬。—马丁-塞利格曼)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ在这里插入图片描述

k8s-ingress官网api说明

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingress-v1-networking-k8s-io

详细api说明

https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata

字段名称字段描述
apiVersionAPIVersion 定义了对象表示的版本化架构。服务器应将已识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kindKind 是一个字符串值,表示该对象所代表的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。在 CamelCase 中。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metadata.name在当前命名空间中唯一标识此对象的字符串
metadata.uid时间和空间上的唯一值
metadata.resourceVersion一个字符串,用于标识此对象的内部版本,客户端可以使用它来确定对象何时发生更改。这个值必须被客户端视为不透明的,并且未经修改地传递回服务器。客户端不应该假设资源版本在命名空间、不同类型的资源或不同的服务器之间具有意义
metadata.generation表示所需状态的特定代的序列号。由系统设置,按资源单调递增。可以进行比较,例如对于 RAW 和 WAW 的一致性
metadata.labels字符串键和值的映射,可用于组织和分类对象
metadata.annotations字符串键和值的映射,外部工具可以使用它来存储和检索有关此对象的任意元数据
specSpec 是 Ingress 的理想状态。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
spec.defaultBackendDefaultBackend 是应该处理不匹配任何规则的请求的后端。如果未指定规则,则必须指定 DefaultBackend。如果未设置 DefaultBackend,则与任何规则不匹配的请求的处理将取决于 Ingress 控制器
spec.defaultBackend.service服务引用服务作为后端.与resource互斥.更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingressservicebackend-v1-networking-k8s-io
spec.defaultBackend.service.name名称是引用的服务。该服务必须与 Ingress 对象存在于相同的命名空间中
spec.defaultBackend.port引用服务的端口。IngressServiceBackend 需要端口名称或端口号。更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#servicebackendport-v1-networking-k8s-io
spec.defaultBackend.port.numbernumber 是服务上的数字端口号
spec.ingressClassNameIngressClassName 是 IngressClass 集群资源的名称。关联的 IngressClass 定义了哪个控制器将实现资源。这取代了已弃用的 kubernetes.io/ingress.class 注释。为了向后兼容,当设置该注释时,它必须优先于该字段。如果字段和注释具有不同的值,控制器可能会发出警告。此 API 的实现应忽略未指定类的 Ingress。一个 IngressClass 资源可以被标记为默认值,它可以用来为这个字段设置一个默认值
spec.rules用于配置 Ingress 的主机规则列表。如果未指定或没有规则匹配,则所有流量都将发送到默认后端.更新多心参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingressrule-v1-networking-k8s-io
spec.rules.hostHost 是 RFC 3986 定义的网络主机的完全限定域名
spec.rules.http指向后端的 http 选择器列表.更多信息参加https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#httpingressrulevalue-v1-networking-k8s-io
spec.rules.http.paths将请求映射到后端的路径集合.更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#httpingresspath-v1-networking-k8s-io
spec.rules.http.paths.backend后端定义了流量将转发到的引用服务端点的配置.更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingressbackend-v1-networking-k8s-io
spec.rules.http.paths.backend.resourceResource 是 Ingress 对象命名空间中另一个 Kubernetes 资源的 ObjectRef。如果指定了资源,则不得指定 service.Name 和 service.Port。更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#typedlocalobjectreference-v1-core
spec.rules.http.paths.backend.service服务引用服务作为后端.更多信息参加https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingressservicebackend-v1-networking-k8s-io
spec.rules.http.paths.path路径与传入请求的路径相匹配。目前,它可以包含 RFC 3986 定义的 URL 的常规“路径”部分不允许的字符。路径必须以“/”开头,并且在使用值为“Exact”或“Prefix”的 PathType 时必须存在
spec.rules.http.paths.pathTypePathType 决定了 Path 匹配的解释。PathType 可以是以下值之一: * Exact:精确匹配 URL 路径。* 前缀:基于由“/”分割的 URL 路径前缀匹配。匹配是在逐个元素的路径上完成的。路径元素指的是由“/”分隔符分隔的路径中的标签列表。如果每个 p 都是请求路径的 p 的逐元素前缀,则请求是路径 p 的匹配项。请注意,如果路径的最后一个元素是请求路径中最后一个元素的子字符串,则它不是匹配项(例如 /foo/bar 匹配 /foo/bar/baz,但不匹配 /foo/barbaz)。* ImplementationSpecific:Path 匹配的解释由 IngressClass 决定。实现可以将此视为单独的 PathType 或将其视为与 Prefix 或 Exact 路径类型相同。
spec.tlsTLS 配置。目前 Ingress 只支持一个 TLS 端口,443。如果这个列表的多个成员指定了不同的主机,它们将根据通过 SNI TLS 扩展指定的主机名复用在同一端口上,如果实现 Ingress 的 Ingress 控制器支持 SNI .更多信息参见https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#ingresstls-v1-networking-k8s-io
spec.tls.hosts主机是包含在 TLS 证书中的主机列表。此列表中的值必须与 tlsSecret 中使用的名称匹配。如果未指定,则默认为实现此 Ingress 的负载均衡器控制器的通配符主机设置。
spec.tls.secretNameSecretName 是用于终止端口 443 上的 TLS 流量的密钥的名称。该字段是可选的,以允许仅基于 SNI 主机名的 TLS 路由。如果侦听器中的 SNI 主机与 IngressRule 使用的“Host”头字段冲突,则 SNI 主机用于终止,主机头的值用于路由。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值