Kubernetes集群扩容常见问题的排查及解决方法

Kubernetes集群扩容常见问题的排查及解决方法

更新时间:2020-10-12 09:51:13

概述

本文主要介绍扩容ECS实例到Kubernetes集群常见问题的排查及解决方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

前置条件

若出现添加节点问题,请确认是否满足以下条件:

  • Kubernetes集群需要处于运行中状态。
  • 每次最多添加100个ECS实例。
  • Kubernetes集群节点配额充足。
  • 需要确认VPC路由条目配额充足。
  • ECS的vCPU配额充足。
  • 网络插件为Flannel时,需要确认VPC路由条目配额充足。
  • 默认使用创建Kubernetes集群的安全组,或者可以指定已有安全组。
    对于使用已有安全组需要注意以下几点:
    • 安全组的VPC要和集群VPC保持一致。
    • 安全组规则,内网入规则需要允许PodCidr网段。
    • 如果企业安全组,内网入规则允许PodVswitch网段。

排查思路

  1. 登录Kubernetes控制台,单击所需的集群右侧的查看日志,通过集群日志信息定位错误位置,如果存在“Node XXX joined cluster successfully”信息,则说明扩容成功。
  2. 当集群日志中存在类似“Scaling activity asa-bp1fik5agdxxx, add "1" ecs instance, status: Successful”信息时,如果status值为Successful,说明所有ECS实例创建成功;如果为Warning信息,则说明部分ECS实例创建成功。
  3. 如果存在“Wait k8s node XXX join cluster timeout”信息,则说明节点执行部署脚本报错,需要登录到对应ECS实例中,通过部署日志定位和确定问题。获取部署日志的命令以下所示。
    cat /var/log/messages | grep cloud-init
  4. 通过智能运维检测集群状态和系统配置,详情请参见通过集群检查定位集群问题

集群扩容的常见问题

报错信息

问题原因 解决方法
Failed to ExecuteScalingRule, err: SDK.ServerError ErrorCode: ScalingRule.InvalidScalingRuleType Recommend: RequestId: AEB2E940-3F70-41B5-95A3-0FFBF7C430CE Message: Specific scaling rule type: TargetTrackingScalingRule can not be executed. 您修改了伸缩组规则类型,伸缩组规则类型为简单规则才能正常执行。 将对应的伸缩组规则类型改为简单类型。
Scaling activity asa-2zxxxx, add "20" ecs instances, status: Warning 部分ECS实例创建成功,此问题一般是因为ECS实例库存不足导致。 更换多实例规格进行扩容。
Failed to DescribeScalingActivities error Reson : A user requests to execute scaling rule "asr-xxx", changing the Total Capacity from "1" to "2". , Description : Add "1" ECS instance , Detail : Fail to create Instances into scaling group(code:"QuotaExceed.ElasticQuota", msg:"No available ecs quota for the specified ecs instance type."). , Error code: ScalingActivity.Failed ECS实例库存不足。 更换多实例规格、多地域和可用区(AZ)扩容。
Failed to attach node i-xxxxx, err Aliyun API Error: RequestId: 89515AB0-E3EE-4FD2-996A-AC031D3CF921 Status Code: 404 Code: NoSuchResource Message: The specified resourceis not found. ECS后台任务堆积。 详情请提交工单咨询。
Failed to ModifyScalingConfiguration, err: SDK.ServerError ErrorCode: InvalidSecurityGroupId.NotFound Recommend: RequestId: 498018EA-2F0B-4A19-B1D1-FBA93CC3A83E Message: The specified value of parameter "SecurityGroupId" is not valid. 集群安全组被删除,导致扩容失败。 指定安全组进行扩容,或者请提交工单咨询。

适用于

  • 容器服务Kubernetes版