点击蓝字
关注我们
本文由“GO开源说”第六期 《基于Apache APISIX构建的Kubernetes Ingress》直播内容修改整理而成,视频内容较长,本文内容有所删减和重构。
1.什么是 Kubernetes Ingress
Kubernetes Ingress 是⼀个标准,Kubernetes 为了能够让外部请求访问到 Kubernetes 集群内部,并且⽅便集中管理⼊⼝流量,因此有了 Ingress 的概念。我们可以把 Ingress 简单的理解为Kubernetes 集群的⼊⼝⽹关,Ingress 可以提供 Load Balancer、SSL termination 等能⼒。
如图所示,Ingress 负责接收 Kubernetes 集群边缘⼊⼝流量。Ingress 的实现⼀般包含两个部分,⼀个是与 Kubernetes 打交道的 Ingress Controller ,属于控制⾯( Controller Plane),另⼀部分是⽹关,⽤于反向代理,属于数据⾯(Data Plane)。APISIX Ingress 就是基于 Apache APISIX (DP),加上 APISIX Ingress Controller (CP),为 Kubernetes 提供了⼀种全新的 Ingress 选择。
2.APISIX Ingress Controller
特性Apache APISIX Ingress 监听 Kubernetes 集群资源的变化,并且将这些资源转换为内部结构,与历史资源对⽐,并且将增量变化同步到 APISIX ⽹关。监听的资源包括 Secret、Endpoints、Ingress 等原⽣资源,同时也包括 ApisixRoute、ApisixUpstream、ApisixTls 等⾃定义资源。详细结构如下图。
Apache APISIX 作为云原⽣、⾼性能 API ⽹关,有很多令⼈兴奋的特性,APISIX Ingress Controller 将 APISIX 的特性通过 声明式配置