检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
NGINX Ingress控制器插件升级导致集群内Nginx类型的Ingress路由访问异常 问题现象 集群中存在未指定Ingress类型(annotations中未添加kubernetes.io/ingress.class: nginx)的Nginx Ingress路由,NGINX
负载均衡器配置:共享型elb自动创建配置 负载均衡器名称 自动创建的负载均衡器名称。 参数名 取值范围 默认值 是否允许修改 作用范围 name 1-255个字符 无 允许 CCE Standard/CCE Turbo 自动创建的负载均衡器名称。 支持网络类型 自动创建的负载均衡器属性:inner为私网
负载均衡器配置:独享型elb自动创建配置 负载均衡器名称 自动创建的独享型负载均衡器名称。 参数名 取值范围 默认值 是否允许修改 作用范围 name 1-255个字符 无 允许 CCE Standard/CCE Turbo 支持网络类型 自动创建的独享型负载均衡器属性:inner为私网
不允许同时配置 "kubernetes.io/elb.health-check-option" 和 "kubernetes.io/elb.health-check-options"。 target_service_port字段必须配置,且不能重复。 TCP端口只能配置健康检查协议
ELB Ingress和Nginx Ingress对比 在CCE服务中,集群支持通过Nginx Ingress和ELB Ingress为应用提供7层网络访问。 Nginx Ingress:CCE基于社区的Nginx Ingress Controller进行了优化,并定期同步社区特性和Bug修复。Nginx
app: nginx type: LoadBalancer 执行以下命令创建服务。 kubectl create -f nginx-elb-svc.yaml 配置验证 登录ELB控制台,查看Service对应的ELB(本示例中名为james)。 单击ELB名称,并切换至“监控”,可以看到ELB的连接数为0。
为负载均衡类型的Service配置自定义EIP 通过CCE自动创建的带有EIP的ELB,可以通过添加Service的annotation(kubernetes.io/elb.custom-eip-id)完成ELB的EIP的自定义配置。 前提条件 已创建Kubernetes集群,且集群版本满足以下要求:
负载均衡器配置:共享型elb自动创建配置 负载均衡器名称 自动创建的负载均衡器名称。 参数名 取值范围 默认值 是否允许修改 作用范围 name 1-255个字符 无 允许 CCE Standard/CCE Turbo 自动创建的负载均衡器名称。 支持网络类型 自动创建的负载均衡器属性:inner为私网
负载均衡器配置:后端云服务器组 后端云服务器组的负载均衡算法 服务对接的后端实例会在一个后端云服务器组中,此参数支持配置后端云服务器组的负载均衡算法。 参数名 取值范围 默认值 是否允许修改 作用范围 k8s annotation: kubernetes.io/elb.lb-algorithm
负载均衡器配置:后端服务器(组)配置 会话保持模式 监听器的会话保持类型 参数名 取值范围 默认值 是否允许修改 作用范围 k8s annotation: kubernetes.io/elb.session-affinity-mode HTTP_COOKIE、APP_COOKIE
负载均衡器配置:独享型elb自动创建配置 负载均衡器名称 自动创建的独享型负载均衡器名称。 参数名 取值范围 默认值 是否允许修改 作用范围 name 1-255个字符 无 允许 CCE Standard/CCE Turbo 支持网络类型 自动创建的独享型负载均衡器属性:inner为私网
done; Old Nginx Old Nginx Old Nginx New Nginx Old Nginx New Nginx Old Nginx New Nginx Old Nginx Old Nginx Old Nginx Old Nginx Old Nginx New Nginx
详细说明请参见设置容器规格。 配置访问信息。 单击“服务配置”下的加号,创建服务(Service)用于从外部访问负载。本示例将创建一个负载均衡类型的Service,请在右侧弹窗中配置如下参数。 参数 示例 参数说明 Service名称 nginx 输入服务的名称。 访问类型 负载均衡 ( LoadBalancer
String nginx:表示使用Nginx Ingress,未安装NGINX Ingress控制器插件时无法使用。 通过API接口创建Ingress时必须增加该参数。 ingressClassName 是 (仅1.23及以上集群) String nginx:表示使用Nginx Ingress,未安装NGINX
请求的域名信息,负载均衡收到SSL请求后,会根据域名去查找证书。如果找到域名对应的证书,则返回该证书;如果没有找到域名对应的证书,则返回服务器默认证书。 配置SNI后,如果您在CCE控制台删除SNI配置或在YAML中删除对应的annotation,ELB侧的配置将会保留。 前提条件
Nginx Ingress管理 通过控制台创建Nginx Ingress 通过Kubectl命令行创建Nginx Ingress 用于配置Nginx Ingress的注解(Annotations) Nginx Ingress高级配置示例 父主题: 路由(Ingress)
service配置 参数 是否必选 参数类型 描述 annotations 否 Map<String>String 对外service的Annotations配置。主要配置ELB相关选项,如"kubernetes.io/elb.class","kubernetes.io/elb.id","kubernetes
通过模板包部署Nginx Ingress Controller 自定义部署Nginx Ingress Controller Nginx Ingress Controller高级配置 父主题: 网络
件中心”。 找到NGINX Ingress控制器插件并开启“日志采集”功能。 已安装插件时:单击“管理”,找到已安装的插件实例,单击右侧“编辑”,在参数配置中找到“日志采集”并开启。 如果集群中安装了多个NGINX Ingress控制器,需修改每个插件实例的配置才可采集所有实例的日志。
Turbo集群中: 1. 客户自行安装nginx-ingress的场景,判断nginx-ingress应用的镜像版本是否小于1.2.1 2. 使用CCE提供的nginx-ingress插件,判断插件版本号是否小于等于2.1.0 漏洞修复方案 1. 升级ingress-nginx版本至1.2.1;