更新时间:2024-06-17 GMT+08:00

使用L7负载均衡Ingress-nginx

Ingress-nginx控制器用于存储nginx配置,实现统一路由转发管理。关于Ingress-nginx的详细信息请参见Ingress-Nginx Controller社区官方项目

本小节将指导您为本地集群安装与使用Ingress-nginx。

约束与限制

该小节指导仅适用于UCS本地集群安装Ingress-nginx。

安装Ingress-nginx

  1. 登录UCS控制台。
  2. 左侧导航栏内选择“云原生服务中心”,在“服务目录中”中搜索Ingress-nginx开源插件,单击进入插件详情。

    图1 搜索Ingress-nginx

  3. 订阅Ingress-nginx后,单击“创建实例”,选择需要使用Ingress-nginx的集群。

    • 如果是集群已安装Metallb,可以使用Metallb的负载均衡能力,将ingress-nginx服务暴露到集群外,直接根据页面引导进行安装。
    • 如果集群未规划安装Metallb,则只能通过NodePort形式暴露ingress-nginx能力。
    需要将.values.controller.service.type从LoadBalancer修改为NodePort后进行安装,如图2所示。
    图2 参数修改

功能验证

  1. 登录UCS控制台。

    • 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。
    • 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。

  2. 左侧导航栏内选择“工作负载”,单击镜像创建。
  3. 选择可用镜像创建负载,并在“服务配置”中单击,添加一个ClusterIP类型的Service,具体操作请参见5工作负载服务配置
  4. 左侧导航栏内选择“服务与路由”,单击“路由”,单击“创建路由”,选择刚刚所创建的ClusterIP类型的Service。路由配置相关操作请参见路由
  5. 访问ingress服务,确认转发规则配置成功。

    • 如果是使用LoadBalancer暴露的ingress服务,选择LoadBalancer的ingress服务进行集群外访问:

    • 如果是使用NodePort暴露的ingress服务,选择任意节点+ingress svc端口进行集群外访问: