Ingress 定制配置

原文地址: https://alphahinex.github.io/2021/08/01/customize-ingress/

description: "最大化 Ingress 价值"
date: 2021.08.01 10:34
categories:
- K8s
tags: [K8s, Nginx]
keywords: K8s, Ingress, Ingress Controller, ingress-nginx, KIC, Kong Ingress Controller

K8s Ingress、Ingress Controller 和 Ingress Class 中介绍了 Ingress 相关的概念,接下来让我们看看如何对 Ingress 进行更加灵活的配置。

Ingress 的特性至 Kubernetes v1.19 进入了稳定状态,不论使用哪个具体的 Ingress Controller,这些配置都是生效的。

Ingress 中的每个 path 都需要有一个对应的 pathType ,共有三种类型:

例如:

主机名支持完全匹配和通配符匹配两种:

注意:host 中包含通配符时,通配符必须放在起始位置,即不可以设置为 foo.*.com

除了 Ingress 资源上的通用配置外,我们还可以针对所使用的具体的 Ingress Controller,通过注解的方式添加更灵活且丰富的配置。

这些注解通常由具体的 Controller 所提供,例如:

接下来让我们浏览几个 ingress-nginx 中的常用注解的作用及用法。

从 ingress-nginx 0.22.0 版本起,使用 nginx.ingress.kubernetes.io/rewrite-target 注解进行重写目标地址的配置,并且请求路径中的任意要在重写的路径中子路径,都必须明确的通过正则表达式的 捕获组 进行定义。捕获组以数字进行占位,按定义的先后顺序,表示为 $1 , $2 ... $n 。

在上面的配置中,请求路径 /demo-ui/ 后面的部分都会被 $2 所捕获,并作为参数传入 rewrite-target 注解中。

例如:

使用 nginx.ingress.kubernetes.io/app-root 注解可以设定根路径,例如:

此时,对 http://approot.bar.com/ 的访问,会被重定向到 http://approot.bar.com/app1 ,响应的 HTTP Status 是 302 Moved Temporarily 。

nginx.ingress.kubernetes.io/proxy-body-size 注解等同于 Nginx 中的 client_max_body_size ,可以设定允许的 request body 大小:

例如:

nginx.ingress.kubernetes.io/proxy-body-size: 8m



扩展阅读:2023捷安特价目表 ... 捷安特全国统一价目表 ... 捷安特所有型号价目表 ... ingress最新正式版下载 ... 捷安特车型一览表 ... 啥都没干磁盘占用100 ... 捷安特liv女款多少钱 ... 硬盘占用100但是没东西 ... 捷安特liv车型大全 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网