使用 NGINX Ingress
本文介绍使用Nginx Ingress作为Ingress的实现方式。
介绍
Kubernetes Ingress除了CCE Ingress实现之外,也可以使用Kubernetes社区的Nginx Ingress实现。
Nginx支持反向代理与负载均衡器等功能。
Nginx Ingress Controller是Ingress控制器,使用Nginx实现反向代理功能,并通过解析集群中的Ingress来配置转发规则。
相比CCE Ingress,Nginx Ingress支持更多、更细粒度的规则配置,使用更加灵活。
名词解释
Nginx Ingress: 使用Nginx Ingress Controller来实现规则的K8s Ingress资源。
Nginx Ingress Controller组件:在CCE组件管理界面部署的Nginx Ingress控制器。
Nginx Ingress Controller实例:Nginx Ingress Controller组件既参与规则配置又参与数据转发,集群中可以部署多套组件来实现不同的流量入口配置。集群中部署的每套组件我们称之为Nginx Ingress Controller实例。
操作步骤
CCE提供了产品化能力,我们需要首先创建1个节点组以供后续Nginx Ingress Controller部署,完成Nginx Ingress Controller组件部署,然后再创建Ingress资源。
创建节点组
目前Nginx Ingress Controller采用DaemonSet方式部署,并部署于节点组中。
我们首先需要创建一个节点组。
安装Nginx Ingress Controller组件
节点组创建完成之后,我们即可向节点组中部署Nginx Ingress Controller组件。
创建 Nginx Ingress 资源
最后,我们创建Ingress资源并等待资源同步完成。
组件更多参数配置
CCE控制台仅支持一些最重要的组件部署参数。
如果希望对更多的参数进行配置,则在控制台“Helm”进行设置。
Nginx Ingress Controller对应的实例名称以部署组件时设置的ingress-class为前缀。