一、Kong Ingress Controller 介绍
在 Kubernetes 集群环境下,Admin API 方式不是很适应 Kubernetes 声明式管理方式。所以 Kong 在 Kubernetes 集群环境下推出 Kong Ingress Controller,涵盖了原 Admin API 的各个方面。因此,Kong Ingress Controller 的作用不仅仅是代理进入 Kubernetes 集群的流量,也可以实现插件配置、负载平衡、健康检查等 Kong 提供的所有功能。
下图展示了它的工作原理:
当你安装了 Kong Ingress Controller,Controller 管理器将监听 Kubernetes 集群内部发生的变化,并更新 Kong 以响应这些变化,从而能够正确代理所有流量。与此同时,Kong 也会根据 Controller 同步的信息进行动态更新,以响应 Kubernetes 集群内发生的扩展、配置更改和故障等变化。
二、Kubernetes 资源与 Kong 资源对应关系
Kong Ingress Controller 旨在将你配置在 Kubernetes 集群中的资源同步到 Kong ,并生成对应的 Kong 资源以便能够使用 Kong 原有机制进行网关操作。两者资源的对应关系如下:
·Kubernetes Service:对应 Kong Service 和 Kong Upstream
·Kubernetes Pod:对应 Kong Target
·Kubernetes Ingress:对应 Kong Route
三、Kubernetes 版本与 Kong Ingress Controller 版本对应关系
| Ingress 版本 | 1.3.4 | 2.5.0 | 2.7.0 | 2.12.0 |
| Kubernetes 1.14 | ✔ | – | – | – |
| Kubernetes 1.16 | ✔ | – | – | – |
| Kubernetes 1.17 | – | – | – | – |
| Kubernetes 1.18 | ✔ | ✔ | – | – |
| Kubernetes 1.19 | – | – | – | – |
| Kubernetes 1.20 | ✔ | ✔ | – | – |
| Kubernetes 1.21 | – | – | – | – |
| Kubernetes 1.22 | – | ✔ | ✔ | – |
| Kubernetes 1.23 | – | – | – | – |
| Kubernetes 1.24 | – | ✔ | ✔ | – |
| Kubernetes 1.25 | – | – | – | – |
| Kubernetes 1.26 | – | – | ✔ | – |
| Kubernetes 1.27 | – | – | – | – |
| Kubernetes 1.28 | – | – | ✔ | – |
| Kubernetes 1.29 | – | – | – | – |
| Kubernetes 1.30 | – | – | – | ✔ |
| Kubernetes 1.31 | – | – | – | – |
| Kubernetes 1.32 | – | – | – | ✔ |
| Kubernetes 1.33 | – | – | – | – |
| Kubernetes 1.34 | – | – | – | ✔ |