云容器引擎 CCE-NGINX Ingress控制器:安装插件

时间:2024-05-31 08:37:37

安装插件

  1. 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到NGINX Ingress控制器插件,单击“安装”
  2. 在安装插件页面,设置“规格配置”

    表1 nginx-ingress插件规格配置

    参数

    参数说明

    插件规格

    该插件支持自定义资源规格部署。

    实例数

    您可根据需求调整插件实例数。

    实例数为1时插件不具备高可用能力,当插件实例所在节点异常时可能导致插件功能无法正常使用,请谨慎选择。

    容器

    您可根据需求调整插件实例的容器规格。

  3. 设置插件支持的“参数配置”

    • 控制器名称:自定义控制器名称,该名称为Ingress控制器的唯一标识,同一个集群中不同的控制器名称必须唯一,且不能设置为ccecce是ELB Ingress Controller的唯一标识)。创建Ingress时,可通过指定控制器名称,声明该Ingress由此控制器进行管理。
    • 命名空间:选择Ingress控制器所在的命名空间。
    • 负载均衡器:支持对接共享型或独享型负载均衡实例,如果无可用实例,请先创建。负载均衡器需要拥有至少两个监听器配额,且端口 80 和 443 没有被监听器占用。
    • 开启准入校验:针对Ingress资源的准入控制,以确保控制器能够生成有效的配置。开启后将会对Nginx类型的Ingress资源配置做准入校验,若校验失败,请求将被拦截。关于准入校验详情,请参见准入控制
      • 开启准入校验后,会在一定程度上影响Ingress资源的请求响应速度。
      • 仅2.4.1及以上版本的插件支持开启准入校验。
    • nginx配置参数:配置nginx.conf文件,将影响管理的全部Ingress,相关参数可通过ConfigMaps查找,如果您配置的参数不包含在ConfigMaps所列出的选项中将不会生效。

      此处以设置keep-alive-requests参数为例,设置保持活动连接的最大请求数为100。

      {
          "keep-alive-requests": "100"
      }
    • 开启指标采集:插件版本不低于2.4.12时,支持采集Prometheus监控指标。具体操作详情请参见监控NGINX Ingress控制器指标
    • 自定义服务器证书:选择一个IngressTLS或kubernetes.io/tls类型的密钥,用于配置Nginx Ingress控制器启动时的默认证书。如果无可选密钥,您可以单击“创建TLS类型的密钥证书”进行新建,详情请参见创建密钥。关于默认证书更多说明请参见Default SSL Certificate
    • 默认404服务:默认使用插件自带的404服务。支持自定义404服务,填写“命名空间/服务名称”,如果服务不存在,插件会安装失败。
    • 添加TCP/UDP服务:Nginx Ingress默认仅支持转发外部HTTP和HTTPS流量,通过添加TCP/UDP端口映射,可实现转发外部TCP/UDP流量到集群内服务。关于添加TCP/UDP服务的更多信息,请参见暴露TCP/UDP服务
      • 协议:选择TCP或UDP。
      • 访问端口:ELB监听器使用的端口,端口范围为1-65535。
      • 目标服务命名空间:请选择Service所在的命名空间。
      • 目标服务名称:请选择已有Service。页面列表中的查询结果已自动过滤不符合要求的Service。
      • 目标服务访问端口:可选择目标Service的访问端口。
      • 集群版本为v1.19.16-r5、v1.21.8-r0、v1.23.6-r0及以上时,支持设置TCP/UDP混合协议能力。
      • 集群版本为v1.19.16-r5、v1.21.8-r0、v1.23.6-r0、v1.25.2-r0及以上时,支持设置TCP/UDP混合协议使用相同的对外端口。

  4. 设置插件实例的“调度策略”

    • 调度策略对于DaemonSet类型的插件实例不会生效。
    • 设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。
    表2 插件调度配置

    参数

    参数说明

    多可用区部署

    • 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区。
    • 均分模式:插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。
    • 强制模式:插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。

    节点亲和

    • 不配置:插件实例不指定节点亲和调度。
    • 指定节点调度:指定插件实例部署的节点。若不指定,将根据集群默认调度策略进行随机调度。
    • 指定节点池调度:指定插件实例部署的节点池。若不指定,将根据集群默认调度策略进行随机调度。
    • 自定义亲和策略:填写期望插件部署的节点标签实现更灵活的调度策略,若不填写将根据集群默认调度策略进行随机调度。

      同时设置多条自定义亲和策略时,需要保证集群中存在同时满足所有亲和策略的节点,否则插件实例将无法运行。

    容忍策略

    容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。

    插件会对实例添加针对node.kubernetes.io/not-readynode.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。

    详情请参见容忍策略

  5. 单击“安装”
support.huaweicloud.com/usermanual-cce/cce_10_0034.html