如何自建一个k8s ingressingress 接入方案我们都知道访问k8s 集群的服务需要ingress 接入。据我所知,ingress 接入的方案有4种1.云厂商提供LoadBalance, 比如aliyun SLB.2.官方的实现 ingress controller 3.第三方实现方案4.自建, 比如使用envoy 这里重点记录一下,如何自建一个ingress 的思路。### ingress 接入方案的原理 在讲如何自建一个k8s ingress 之前,这里分别记录一下ingress 的实现原理。 先说官方的实现。 https://github.com/kubernetes… 官方的ingress 接入实现使用ingress controller + nginx 实现的。如上图所示 ingress 接入分为配置控制和数据代理。 ingress controller 是一个控制中心,监控的数据来源 1.k8s 集群的api-server, 比如node 、service、 pod 变化 2.ingress 实例的configMap ingress controller 发现监控的数据有变化,就把监控的数据转换成为nginx.conf 代理所需要配置。 然后reload nginx. 从而实现数据流量接入路由。 当然,如果ingress controller 这一套部署在k8s 集群内的话,肯定是要暴露端口的。我接触到到的aliyun 的SLB 也类似。 SLB 控制中心是一个叫CMI的程序, 数据代理是有LVS + nginx 组成。ingress 接入方案的原理