本文档将介绍如何部署Nginx-ingress controller及配置Ingress规则,以实现集群外部请求的路由转发。
在进行Nginx-ingress controller部署前,请确认所选集群满足以下前提条件:
注:对于2022年1月13日前,通过控制台部署过老版本Nginx-ingress controller的用户,建议按照以下操作提示创建新版controller,并在业务低峰期时将老版ingress规则切换由新版controller管理。切换后新版controller支持由组件管理方式进行多实例管理,且对应社区版本(v1.1.0)支持更多优化特性。
切换方式建议如下:
- 通过组件管理模块,指定IngressClass,创建Nginx-ingress controller实例。
- Nginx-ingress controller默认支持IngressClass为nginx的Ingress规则。由一期通过控制台部署的controller管理的ingress规则(默认指定ingressClass为nginx),可直接由新版controller接管,仅需切换域名解析规则,即可将访问流量切换到新版controller对应的service上。
- 选择业务低峰期,将原始Ingress规则中域名映射的IP,由旧版controller对应的service IP,切换为新版controller对应的service IP。
登录容器服务控制台,选择指定集群进入集群管理页面。
选择组件管理,进入组件管理页面。完成第一个实例安装后,组件状态将切换为已安装。对于多controller实例的场景(例如一个用于公网,一个用于内网),可进入实例列表进行多controller实例部署。
选择ingress-nginx,进入controller实例列表页。点击新建,创建nginx-ingress controller实例。
配置IngressClass名称:指定 Nginx-ingress controller实例使用的 IngressClass 名称,构成对应实例Kubernetes资源的名称。
命名空间:为Nginx-ingress controller实例部署指定命名空间。
访问范围:根据业务访问需求,为Nginx-ingress controller配置公网/私网访问,将分别为controller创建公网/私网LB作为集群外流量入口。
配置部署方式和调度策略:Nginx-ingress支持DaemonSet和Deployment两种部署方式,为保证Nginx-ingress服务性能,您可以通过指定部署方式和调度策略,将controller实例调度到特定节点上。调度策略配置可参考工作负载调度策略配置。
完成配置后,点击确定,即可完成Nginx-ingress实例部署。
Nginx-ingress controller部署完成后,即可创建业务需要的ingress规则。Ingress规则配置方式如下:
配置监听端口与协议,支持HTTP和HTTPS。
根据业务需求,配置服务的访问路径、名称、端口。
当监听协议指定为HTTPS时,需通过TLS配置为域名指定SSL证书,其中证书将通过Secret资源来指定。
您可以通过配置注解来实现Nginx-ingress的高阶功能,详情可参见Annotations。
关于Nginx-ingress的更多用法,您可以参考通过Nginx-ingress实现灰度发布。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!