tencent cloud

文档反馈

Service&Ingress 常见报错和处理

最后更新时间:2024-08-09 10:23:50
    Kuberentes 通过声明式的方式管理资源,声明式 API 只需要声明一个期望的状态,系统就会自行调节以满足该状态。但声明式 API 也引入新的问题:无法感知资源当前状态信息,对任务的流程把握不够清晰。
    为了保证负载均衡实例配置信息的一致性,整个 Service/Ingress 是作为一个资源整体进行同步的。若 CLB 类型的 Service/Ingress 有任何监听器级别的配置错误问题,会导致整个负载均衡同步失败,并以 Event 的形式反馈问题让用户进行处理。资源同步正确时,也会有该资源正常完成同步的 Event 更新。
    Service/Ingress 作为用户直接对外提供服务的资源对象,如果异常将导致服务不可用,影响服务质量。本文提供了常见的 Service/Ingress 报错原因和处理办法。

    如何查看 Service/Ingress Event 的报错信息?

    通过控制台
    通过命令行
    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 集群管理页面中,选择需要更新 YAML 的集群 ID,进入集群基本信息页面。
    3. 选择服务与路由 > ServiceIngress,进入 Service 或 Ingress 信息页面。
    4. 单击某个具体的 Service 或 Ingress 名称。
    5. 事件页签,可查看当前 Service 或 Ingress 的事件信息。如下图所示,可以查看当前 Service/Ingress 的 Event 报错代码。
    
    
    
    注意:
    资源事件只保存最近 1 小时内发生的事件,请尽快查阅。
    获取异常 Ingress 资源列表和报错信息:
    kubectl get event | grep ingress
    获取异常 Service 资源列表和报错信息:
    kubectl get event | grep service

    Service Event 报错原因和处理办法

    错误码
    错误内容
    解决方案
    不修改可能存在的风险
    E4001
    TKE_QCSRoles 授权
    登录访问管理控制台,检查 TKE 服务账户授权,并重新添加授权。详情可参见 服务授权相关角色权限说明
    集群维度,组件不能正常工作
    E4004
    负载均衡数量超出上限
    提交工单 申请负载均衡数量 Quota。
    新增资源没有流量接入
    E4005
    负载均衡创建参数错误
    检查创建参数:service.kubernetes.io/service.extensiveParameters,详情可参见 Service Annotation 说明
    新增资源没有流量接入
    E4008
    子网 IP 不足
    三种方案:
    1. 更换其他有足够 IP 的子网新建子网。
    2. 更新 Service 注解使用新的子网 ID。
    3. 改为使用公网类型的负载均衡。
    新增资源没有流量接入
    E4009
    欠费
    您需要充值账户。
    新增资源没有流量接入
    E4011
    使用已有负载均衡不存在
    登录负载均衡控制台,找到与当前集群相同的 VPC 下的负载均衡实例,确认负载均衡 ID,使用一个真实有效负载均衡 ID,详情可参见 Service 使用已有 CLB
    新增资源没有流量接入
    E4012
    使用已有负载均衡是其他 TKE 管理的资源
    使用已有负载均衡必须是用户自己在负载均衡控制台新建的,详情可参见 Service 使用已有 CLB
    新增资源没有流量接入
    E4013
    使用已有负载均衡是其他集群使用的资源
    不支持跨集群使用负载均衡,使用其他负载均衡或者删除该资源。详情可参见 多 Service 复用 CLB
    新增资源没有流量接入
    E4014
    使用已有负载均衡存在端口冲突
    多个 Service 声明使用了同一个端口,修改报错 Service 的端口声明,使用其他端口避免冲突,详情可参见 Service 使用已有 CLB
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4016
    用户未开通复用功能
    申请开白 Service 复用能力,详情可参见 多 Service 复用 CLB
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4026
    外挂配置未找到
    不阻塞用户配置,详情可参见 Service 负载均衡配置,有两种方案:
    1. 删除 Service 中该外挂配置功能。
    2. 注解添加对应名称的 TkeServiceConfig 资源。
    暂无
    E4033
    开启直连,但是没有工作负载后端支持直连接入
    工作负载使用弹性网卡网络模式,并且关闭 HostNetwork 删除直连注解,使用 NodePort 接入,直连 Service 使用说明请参见 使用 LoadBalancer 直连 Pod 模式 Service
    后端更新可能失败,用户滚动更新时可能导致断流。
    E4036
    后端四元组冲突
    负载均衡 VIP、监听器协议、后端 IP、后端端口,四元组必须保持唯一。负载均衡限制,用户需要在 Pod 上监听多个端口,分别进行绑定解决这个问题。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4037
    子网不存在
    三种方案:
    1. 更换其他有足够 IP 的子网新建子网。
    2. 更新 Service 注解使用新的子网 ID。
    3. 改为使用公网类型的负载均衡。
    新增资源没有流量接入
    E4062
    证书过期
    证书服务添加新的证书,并更新扩展协议注解中声明的 Secret 资源内容,按照文档格式填写证书 ID,详情可参见 Service 扩展协议
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4075
    跨地域功能,地域 ID 错误
    检查 Service 中的跨地域注解,地域 ID 可参见 地域与可用区
    新增资源没有流量接入

    Ingress Event 报错原因和处理办法

    错误码
    错误内容
    解决方案
    不修改可能存在的风险
    E4003
    负载均衡数量到上限
    提交工单 申请负载均衡数量 Quota。
    新增资源没有流量接入
    E4005
    转发规则数量到上限
    提交工单 申请负载均衡数量 Quota。
    新增资源没有流量接入
    E4008
    TKE_QCSRole 授权被删除
    登录访问管理控制台,检查 TKE 服务账户授权,并重新添加授权。详情可参见 服务授权相关角色权限说明
    集群维度,组件不能正常工作
    E4009
    TLS 字段未配置 Secret 名称
    若您需要 HTTPS 协议的转发规则,则需要修改 Ingress 里的 TLS 字段,配置 HTTPS 监听器需要的证书。详情可参见 Ingress 证书配置。若您不需要 HTTPS 协议的转发规则,删除 TLS 字段,使用 HTTP 协议进行服务暴露。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4010
    TLS 字段配置 Secret 无法找到
    新建 Ingress 中声明的 Secret 资源,并按照文档格式填写证书 ID,详情可参见 Ingress 证书配置
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4011
    TLS 字段配置 Secret 内容错误,没有证书 ID
    更新 TLS 中声明的 Secret 资源内容,按照文档格式填写证书 ID,详情可参见 Ingress 证书配置
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4012
    证书状态异常
    证书服务添加新的证书,并更新 TLS 中声明的 Secret 资源内容,按照文档格式填写证书 ID,详情可参见 Ingress 证书配置
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4018
    指定已有负载均衡不存在
    到负载均衡控制台找到与当前集群相同的 VPC 下的 负载均衡实例,确认负载均衡 ID,使用一个真实有效负载均衡 ID,详情可参见 Ingress 使用已有 CLB
    新增资源没有流量接入
    E4019
    指定已有负载均衡是 TKE 创建的
    使用已有负载均衡必须是用户自己在负载均衡控制台新建的,详情可参见 Ingress 使用已有 CLB
    新增资源没有流量接入
    E4020
    指定已有负载均衡是其他 Ingress 使用的
    使用已有负载均衡必须是用户自己在负载均衡控制台新建的,详情可参见 Ingress 使用已有 CLB
    新增资源没有流量接入
    E4021
    指定已有负载均衡监听器未排空
    登录负载均衡控制台,删除该负载均衡所有的监听器。
    新增资源没有流量接入
    E4022
    kubernetes.io/ingress.http-rules,注解格式不正确
    参考 Ingress Annotation 说明,确认注解内容是否合法,建议使用控制台对资源进行更新。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4023
    kubernetes.io/ingress.https-rules,注解格式不正确
    参考 Ingress Annotation 说明,确认注解内容是否合法,建议使用控制台对资源进行更新。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4027
    账户欠费
    您需要充值账户。
    新增资源没有流量接入
    E4031
    转发规则存在不合法字符
    修改转发规则 Rule 字段。负载均衡转发路径不支持正则。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4034
    IPv6 CLB,未声明 host 字段。(IPv4 可以不填 Host,默认为 VIP,IPv6 不支持)
    补充 Ingress 中所有 Host 字段,不能留空。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4035
    证书 ID 格式错误
    更新 TLS 中声明的 Secret 资源内容,按照文档格式填写证书 ID,详情可参见 Ingress 证书配置
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4039
    证书过期
    证书服务添加新的证书,并更新 TLS 中声明的 Secret 资源内容,按照文档格式填写证书 ID,详情可参见 为 TKE Ingress 证书续期
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4040
    Ingress 存在域名没有声明对应证书。
    修改 TLS 字段, 配置 HTTPS 监听器需要的证书,详情可参见 Ingress 证书配置
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4041
    Ingress 中转发规则指定的 Service 不存在。
    如果您的 Service 确实不存在,需要删除 Ingress 中使用该 Service 的转发规则如果您需要使用该 Service,则在与 Ingress 相同的命名空间下,新建该名称 Service 资源。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4042
    Ingress 中转发规则指定的 Service 不存在对应转发端口
    如果您的 Service 确实不存在这样的端口,需要删除 Ingress 中使用该 Service 的转发规则如果是端口配置问题,需要更新成新端口。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4043
    Ingress 指定绑定的 TkeServiceConfig 资源不存在
    不阻塞用户配置,详情可参见 Ingress 使用 TkeServiceConfig 配置 CLB,有两种方案:删除 Service 中该外挂配置功能注解添加对应名称的 TkeServiceConfig 资源。
    暂无
    E4044
    kubernetes.io/ingress.rule-mix,填了非合法值
    改成 true 或 false,详情可参见 Ingress 混合使用 HTTP 及 HTTPS 协议
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4046
    资源带宽注解配置错误,格式错误或带宽范围错误
    带宽合法值 1-2048
    新增资源没有流量接入
    E4047
    Ingress 中转发规则指定的 Service 为 ClusterIP 类型,没有转发端口接入
    修改报错 Service 为 NodePort 类型。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4048
    Ingress 存在域名声明了多个默认证书
    TLS 字段中声明了多个没有 Host 配置的 Secret。删除至只剩一个。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4049
    Ingress 存在某个固定域名声明了多个证书
    TLS 字段中有一个域名声明了多个 Secret。删除至只剩一个。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4051
    用户手动外挂配置指定了系统自动化生成的配置
    详情可参见 Ingress 使用 TkeServiceConfig 配置 CLB,改用其他名称的资源。
    暂无
    E4052
    Ingress 中转发规则指定的域名不符合正则要求
    检查并修改错误域名一般错误原因域名不带".",如 Host: test 域名用大写,如 Host: Test.com 正则:(\\*|[a-z0-9]([-a-z0-9]*[a-z0-9])?)(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)+
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4053
    子网 IP 用尽,无法创建负载均衡
    三种方案:
    1. 更换其他有足够 IP 的子网新建子网。
    2. 更新 Service 注解使用新的子网 ID。
    3. 改为使用公网类型的负载均衡。
    新增资源没有流量接入
    E4054
    后端数量达到上限
    提交工单 申请负载均衡后端数量 Quota。
    后端更新可能失败,用户滚动更新时可能导致断流
    E4055
    子网不存在或格式错误,无法创建负载均衡
    三种方案:
    1. 更换其他有足够 IP 的子网新建子网。
    2. 更新 Service 注解使用新的子网 ID。
    3. 改为使用公网类型的负载均衡。
    新增资源没有流量接入
    E4060
    账户未开白,无法为用户开启 SNAT Pro 功能
    提交工单 申请负载均衡开白 SNAT Pro 能力。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4066
    集群初始化失败,CRD 无法创建
    用户集群存在问题,需要 提交工单
    集群维度,组件不能正常工作
    E4068
    自动重定向规则和用户其他声明规则冲突
    使用自动重定向功能建议不要再声明其他转发规则,详情可参见 Ingress 重定向
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4071
    跨地域配置错误,CLB 所在 VPC 和当前集群所在 VPC 不在同一个云联网中
    使用云联网关联两个 VPC 更换其他云联网内的 VPC 详情可参见 Ingress 跨域绑定
    新增资源没有流量接入
    E4074
    节点欠费可能,后端绑定失败
    CLB 后端绑定问题,可能节点遭到封锁。
    后端更新可能失败,用户滚动更新时可能导致断流
    E4081
    kubernetes.io/ingress.https-rules,注解格式不正确(配置冲突)
    建议通过控制台修改配置,详情可参见 Ingress Annotation 说明
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4082
    NoSelector Service 不支持绑定,Ingress 在直连场景下,声明使用了类似资源
    NoSelector Service 后端不支持直连接入,需要改用 NodePort。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4084
    跨域绑定 1.0 方案下,不能使用 SNAT Pro 功能
    系统限制,需要调整技术方案。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    E4098
    指定已有负载均衡,负载均衡 ID 格式错误
    登录负载均衡控制台找到与当前集群相同的 VPC 下的负载均衡实例,确认负载均衡 ID,使用一个真实有效负载均衡 ID,详情可参见 Ingress 使用已有 CLB
    新增资源没有流量接入
    E4101
    指定已有负载均衡监听器存在冲突
    检查 80/443 端口是否已经被其他资源占用。
    资源同步被阻塞,用户更新可能导致负载均衡后端不能正常更新。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持