云容器引擎 CCE-自定义部署Nginx Ingress Controller:配置参数说明

时间:2024-04-03 08:02:33

配置参数说明

表1 nginx-ingress主要参数配置

参数

描述

controller.image.repository

ingress-nginx镜像地址,建议与CCE提供的Nginx Ingress插件镜像一致,也可自定义。

  • Nginx Ingress插件镜像:Nginx Ingress插件的镜像地址可通过已安装插件实例的YAML文件查看。例如“华东-上海一”区域的插件镜像地址为“swr.cn-east-3.myhuaweicloud.com/hwofficial/nginx-ingress”,该地址需要根据集群所在区域进行替换。
  • 自定义:自定义地址需要保证镜像可拉取。

controller.image.registry

镜像仓库域名,该参数需要与controller.image.image同时填写。

如已填写controller.image.repository,则无需再填写该参数,建议将controller.image.registry和controller.image.image设为空值。

controller.image.image

镜像名称。该参数需要与controller.image.registry同时填写。

如已填写controller.image.repository,则无需再填写该参数,建议将controller.image.registry和controller.image.image设为空值。

controller.image.tag

ingress-nginx镜像版本,建议与CCE提供的Nginx Ingress插件镜像一致,也可自定义。

Nginx Ingress插件的镜像版本可通过已安装插件实例的YAML文件查看,需要根据插件版本进行替换。

controller.ingressClass

设置Ingress Controller所对应的IngressClass的名称。

说明:

同一个集群中不同套Ingress Controller名称必须唯一,且不能设置为nginxccenginx是集群默认Nginx Ingress Controller的监听标识,cce则是使用ELB Ingress Controller的配置)。

示例:ccedemo

controller.image.digest

建议为空值,该参数非空时可能无法拉取CCE提供的Nginx Ingress插件镜像。

controller.ingressClassResource.name

需要与ingressClass值相同。

示例:ccedemo

controller.ingressClassResource.controllerValue

同一个集群中不同套Ingress Controller的监听标识必须唯一,且不能设置为k8s.io/ingress-nginxk8s.io/ingress-nginx是默认Nginx Ingress Controller的监听标识)。

示例:k8s.io/ingress-nginx-demo

controller.config

nginx配置参数,配置参数范围请参考社区文档。不在范围内的参数配置不会生效。

建议增加如下配置:

"keep-alive-requests": "100"

controller.extraInitContainers

init容器,在主容器启动前执行,可用于Pod参数的初始化配置。

配置参数示例请参见高并发业务场景参数优化

controller.admissionWebhooks.enabled

是否开启admissionWebhooks,可以对Ingress对象进行有效性校验,避免因配置错误导致ingress-controller不断重新加载资源,导致业务中断。

此处设置为false,表示不开启。如需开启,请参见admissionWebhook配置示例。

controller.admissionWebhooks.patch.enabled

同上,表示是否开启admissionWebhooks。此处设置为false。

controller.service.annotations

Key: value类型,此处需加上ELB ID,如下所示:

kubernetes.io/elb.id: 5083f225-9bf8-48fa-9c8b-67bd9693c4c0

独享型负载均衡还需要加上elb.class,如下所示:

kubernetes.io/elb.class: performance

controller.resources.requests.cpu

Nginx controller的CPU资源申请值,可根据需求自定义。

controller.resources.requests.memory

Nginx controller的内存资源申请值,可根据需求自定义。

defaultBackend.image.repository

default-backend镜像地址,建议与CCE提供的Nginx Ingress插件镜像一致,也可自定义。

  • Nginx Ingress插件镜像:Nginx Ingress插件的镜像地址可通过已安装插件实例的YAML文件查看。例如“华东-上海一”区域的插件镜像地址为“swr.cn-east-3.myhuaweicloud.com/hwofficial/defaultbackend”,该地址需要根据集群所在区域进行替换。
  • 自定义:自定义地址需要保证镜像可拉取。

defaultBackend.image.tag

default-backend镜像版本,建议与CCE提供的Nginx Ingress插件镜像一致,也可自定义。

更多参数配置说明请参见ingress-nginx

support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0342.html