本文介绍使用 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.16 1.18 版本集群支持此功能。
操作步骤
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 为前缀。