Kong Ingress 注解的使用说明

Kong Ingress 注解的使用说明

Ingress 资源支持以下注释:

案例
konghq.com/plugins[1] 为特定 Ingress 运行插件
konghq.com/protocols[2] 设置要处理每个 Ingress 资源的协议
konghq.com/preserve-host[3] host标头按原样传递给上游服务
konghq.com/strip-path[4] 剥离Ingress资源中定义的路径,然后将请求转发到上游服务 /foor/a/b/c转换为/a/b/c
ingress.kubernetes.io/force-ssl-redirect[5] 强制将非 SSL 请求重定向到 SSL。
konghq.com/https-redirect-status-code[6] 设置收到 HTTP 请求时要使用的 HTTPS 重定向状态代码
konghq.com/regex-priority[7] 设置路由的正则表达式优先级
konghq.com/regex-prefix[8] 路径前缀,用于注释该路径是正则表达式匹配(默认值除外)/~
konghq.com/methods[9] 设置该Ingress匹配的方法
konghq.com/snis[10] 为从此 Ingress 创建的路由设置 SNI 标准
konghq.com/request-buffering[11] 在此 Ingress 创建的路由上设置请求缓冲
konghq.com/response-buffering[12] 在此 Ingress 创建的路由上设置响应缓冲
konghq.com/host-aliases[13] 根据此 Ingress 规则创建的路由的其他主机
konghq.com/override[14] (已弃用,替换为每个设置注释)使用 KongIngress 资源控制其他路由属性
konghq.com/path-handling[15] 设置路径处理算法
konghq.com/headers.\*[16] 设置匹配此 Ingress 中的规则所需的标头值

kubernetes.io/ingress.class通常是必需的,其值应与控制器参数的值匹配--ingress-classkong默认情况下)。

目前用到注解

konghq.com/strip-path[17]

自控制器 0.8 起可用

此注释可以应用于 Ingress 资源,并且可以采用两个值:

  • "true":如果设置为 true,则在将请求发送到服务之前,将删除 Ingress 规则中指定的部分路径。例如,如果 Ingress 规则的路径为 /foo,并且匹配 Ingress 规则的 HTTP 请求的路径为 /foo/bar/something,则发送到 Kubernetes 服务的请求将具有路径 /bar/something
  • "false":如果设置为 false,则不执行路径操作

konghq.com/preserve-host[18]

自控制器 0.8 起可用

此注释可以应用于 Ingress 资源,并且可以采用两个值:

### Kong Ingress Controller 的配置与部署 #### 1. Kong Ingress Controller 简介 Kong 是一种高性能的 API 网关,支持多种协议并提供灵活的插件扩展能力。当将其作为 Kubernetes Ingress Controller 使用时,它可以充当集群外部流量进入内部服务的核心组件[^1]。 #### 2. 部署 Kong Ingress Controller 以下是使用 Helm 或 YAML 文件来安装和配置 Kong Ingress Controller 的方法: ##### 方法一:通过 Helm 安装 Helm 是 Kubernetes 上的一个包管理工具,可以简化复杂应用程序的部署过程。执行以下命令即可完成 Kong Ingress Controller 的安装: ```bash helm repo add kong https://charts.konghq.com helm install kong/kong --generate-name ``` 上述命令会自动下载最新的 Kong Chart 并启动默认配置下的 Kong Ingress Controller[^4]。 ##### 方法二:手动部署 (YAML 方式) 如果偏好手动操作,则可以通过官方提供的 YAML 文件进行部署。具体步骤如下: 1. 下载官方发布的 `ingress-nginx.yaml` 替代文件(适用于 Kong)。 2. 执行以下命令以应用配置: ```bash kubectl apply -f ingress-kong.yaml ``` 注意:此文件通常可以从项目的 GitHub 地址获取,或者参考文档自定义生成[^5]。 #### 3. 创建 Ingress 资源 一旦 Kong Ingress Controller 成功运行,在其上创建具体的路由规则就变得简单明了。下面展示了一个典型的 Ingress 配置例子: ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress spec: rules: - host: "example.com" http: paths: - pathType: Prefix path: "/" backend: service: name: my-service port: number: 80 ``` 该资源声明了一条从域名 `example.com` 映射到名为 `my-service` 的 Service 的路径规则[^2]。 #### 4. 动态更新机制 正如其他类型的 Ingress Controllers 一样,Kong Ingress Controller 同样具备动态感知新创建或修改后的 Ingress 对象的能力,并据此调整自身的代理逻辑而无需重启服务[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值