使用 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集群(集群ID以cce-
为前缀)的1.18、1.20、1.22版本集群支持此功能。
操作步骤
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为前缀。