一、前言
在Kubernetes部署的服务POD只有内部空间的IP,把服务暴露出去可以通过vendor LB、NodePort等方法,这些方法的路由、权限等配置能力不足,整体的灵活性和可管理性不能满足复杂的服务对外暴露的需求;为此,Kubernetes提出的Ingress的概念可以继承原有的Cluster Service的概念,并且提供强大的配置和管理能力。
Kubernetes支持的Ingress控制器的具体情况可以参见如下页面:
https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/
转载自https://blog.youkuaiyun.com/cloudvtech
二、Ingress Nginx的架构
2.1 需要解决的问题
Ingress是用户将部署在Kubernetes上的业务对外进行标准化服务暴露的需求描述,而Ingress Nginx是Kubernetes Ingress概念的一个标准实现,需要解决的问题是将用户配置的Ingress转化成Nginx的配置文件并进行动态管理。Ingress Nginx的具体项目信息可以在这里看到:
https://github.com/kubernetes/ingress-nginx
2.2 整体架构
Ingress Nginx解决方案由如下模块组成:
- Ingress控制器(Nginx Proxy、选主、控制器逻辑)
- 业务定义的Ingress对象
- 后端service和POD endpoints
Ingress在部署的时候可以功过部署多个replica提供HA,多个replica通过选主程序确定一个leader;之后leader controller读取Kubernetes定义的所有Ingress以及对

最低0.47元/天 解锁文章
1205

被折叠的 条评论
为什么被折叠?



