路由(Ingress)
Ingress使用弹性负载均衡作为流量入口对外提供访问,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。用户可根据域名和路径对转发规则进行自定义,完成对访问流量的细粒度划分。该访问方式由公网弹性负载均衡ELB服务地址、设置的访问端口、定义的URI组成,例如:10.117.117.117:80/helloworld。
前提条件
请确保已有可用的工作负载,若没有请参照工作负载先创建工作负载。
添加方式
- 登录UCS控制台,在左侧导航栏中选择“容器舰队”。
- 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。
- 在左侧导航栏中选择“服务与路由”,选择“路由”页签。
- 选择需要创建路由的命名空间,并单击右上角“创建路由”。如需新建命名空间,请参见创建命名空间。
图1 选择命名空间
- 设置路由配置参数。
图2 创建路由
- Ingress名称:新增路由的名称,用户可自定义。
- 命名空间:路由所在命名空间。
- 对接nginx:Ingress Controller分为ELB型和Nginx型。UCS支持上述两种Ingress Controller类型,其中ELB Ingress Controller基于弹性负载均衡服务(ELB)实现流量转发;而Nginx Ingress Controller使用Kubernetes社区维护的模板与镜像,通过Nginx组件完成流量转发。
- ELB Ingress:不开启“对接nginx”。
- Nginx Ingress:单击开启“对接nginx”。
在创建Nginx Ingress前应为对应集群安装Nginx Ingress Controller插件,安装插件的具体操作请参见:
- 为CCE集群安装插件请参见通过控制台创建Nginx Ingress。
- 为本地集群安装插件请参见使用L7负载均衡Ingress-nginx。
- 为其他类型集群安装插件请参见开源社区文档Nginx Ingress Controller。
- 监听器配置:选择对外协议,支持HTTP和HTTPS。若对外协议选择HTTPS,请选择IngressTLS类型的服务器证书。若无符合条件的证书,可单击“创建IngressTLS类型的密钥证书”,参考密钥(Secret)创建一个指定类型的密钥证书。
- SNI(Server Name Indication):SNI是TLS的扩展协议,在该协议下允许同一个IP地址和端口号下对外提供多个基于TLS的访问域名,且不同的域名可以使用不同的安全证书。
- 转发策略配置:请求的访问地址与转发规则匹配时(转发规则由域名、URL组成,例如:10.117.117.117:80/helloworld),此请求将被转发到对应的目标Service处理。您可添加多条转发策略。
- 域名:可选项,输入实际访问的域名地址。请确保所填写的域名已注册并备案,一旦配置了域名规则后,必须使用域名访问。
- URL:需要注册的访问路径,例如:/healthz。该访问路径需与后端应用暴露的URL一致,否则将返回404错误。
- 目标服务名称:选择服务名称,需要先创建NodePort服务,具体可参考节点访问(NodePort)。
- 目标服务访问端口:选择目标服务后,对应的容器端口将自动获取。
- 部署集群:选择需要部署的集群。
图3 添加部署集群
- CCE集群:
- 对外端口:开放在负载均衡服务地址的端口,可任意指定。
- 负载均衡器:仅支持集群所在VPC下的负载均衡实例。如果没有可选的负载均衡器实例,请单击“创建负载均衡器”,创建完成后单击刷新按钮。
创建Nginx Ingress时,您无需手动选择负载均衡器,在插件安装阶段已经完成负载均衡器的关联。
- 其他云
图4 添加部署集群
- Ingress Class:支持选择集群内已创建的Ingress Class,或手动输入规划的Ingress Class名称。
- 注解:支持key/value对格式,请您根据自身业务以及厂家要求进行标签配置。
- 如需创建内部负载均衡器,您需要根据集群的云服务商添加相应的注解,请参见内部负载均衡器。
- CCE集群:
- 单击“确认”。创建成功后可在“路由(Ingress)”页签的列表中查看。
- 获取访问地址。
- 单击左侧导航栏“服务与路由”,选择“路由”页签。
- 单击所添加的Ingress名称进入“路由详情”界面,查看对应的负载均衡器及监听器端口配置。您可以通过负载均衡器的弹性IP地址 + 监听器端口 + URL的形式访问后端负载,例如10.117.117.117:8088/helloworld。
相关操作
操作 |
说明 |
---|---|
YAML创建 |
单击右上角“YAML创建”,可使用已有的YAML创建路由。 |
查看详情 |
|
编辑YAML |
单击路由名称后的“编辑YAML”,可查看并编辑当前路由的YAML文件。 |
更新 |
|
删除 |
单击路由名称后的“删除”,并单击“是”进行确认。 |
批量删除 |
|