tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

扩容缩容相关

PDF
聚焦模式
字号
最后更新时间: 2024-12-12 18:02:38

Cluster Autoscaler 与基于监控指标的弹性伸缩的节点扩缩容有什么不同?

Cluster Autoscaler 确保集群中的所有 Pod 都可调度,不管具体的负载;而基于监控指标的节点弹性伸缩在自动扩缩时不关心 Pod,可能会添加一个没有任何 Pod 的节点,或者删除一个有一些系统关键 Pod 的节点,例如 kube-dns。Kubernetes 不鼓励这种自动缩容机制,故 Cluster Autoscaler 与基于监控指标的弹性伸缩的节点互相冲突,请不要同时启用。

CA 和伸缩组的对应关系是什么?

启用 CA 的集群会根据选择的节点配置,创建一个启动配置和绑定此启动配置的伸缩组。绑定后,将会在此伸缩组内进行扩缩容,扩容后的 CVM 自动加入集群。自动扩缩容的节点都是按量计费的。伸缩组的相关文档请参见 弹性伸缩文档

容器服务控制台手动添加的节点是否会 CA 缩容?

不会,CA 缩容的节点只限于伸缩组内的节点。在 容器服务控制台 添加的节点不会加入到伸缩组中。

弹性伸缩控制台是否可以添加或者移出云服务器?

不可以,不建议您在 弹性伸缩控制台 进行任何修改操作。

扩缩容会继承所选节点的哪些配置?

创建伸缩组时,需要选择集群内的一个节点作为参考来创建 启动配置,参考的节点配置包括:
vCPU
内存
系统盘大小
数据盘大小
磁盘类型
带宽
带宽计费模式
是否分配公网IP
安全组
私有网络
子网

如何使用多个伸缩组?

根据服务的重要级别、类型等特点,您可以通过创建多个伸缩组,为伸缩组设置不同的 label,从而指定伸缩组扩容出节点的 label,来对服务进行分类。

扩缩容最大值可以设置为多少?

目前腾讯云用户每个可用区均有30个按量计费类型 CVM 配额,如果希望伸缩组有超过 30 台按量计费的 CVM,请提交工单申请。 具体配额请参见您当前可用区的云服务器 实例数及配额。另外弹性伸缩也有最大值的限制,其最大值为200。如果希望弹性伸缩超过最大值,请提交工单申请。

集群启用缩容是否安全?

由于在缩容节点时会发生 Pod 重新调度的情况,所以服务必须可以容忍重新调度和短时的中断时再启用缩容。建议您为您的服务设置 PDB。PDB 可以在任何时候指定一个处于运行状态的 Pod 集合副本的最小数量或者最小百分比。有了 PodDisruptionBudget,应用部署者可以保证同一时间内主动移除 Pod 的集群操作不会销毁过多 Pod,避免了因销毁过多 Pod 导致数据丢失、服务中断或者无法接受的服务降级等影响。

节点上有哪些类型的 Pod 时不会被缩容?

当您设置了严格的 PodDisruptionBudget 的 Pod 不满足 PDB 时,不会缩容。
Kube-system 下的 Pod。
节点上有非 deployment,replica set,job,stateful set 等控制器创建的 Pod。
Pod 有本地存储。
Pod 不能被调度到其他节点上。

节点满足缩容条件后多长时间会触发缩容?

10分钟。

节点 Not Ready 后多长时间会触发缩容?

20分钟。

多长时间扫描一次是否需要扩缩容?

10秒。

需要多长时间才可以扩容出 CVM?

一般在10分钟内,相关弹性伸缩的说明文档请参见 弹性伸缩

为什么有 Unschedulable 的 Pod,却未进行扩容?

请确认以下原因:
Pod 的请求资源是否过大。
是否设置了 node selector。
伸缩组的最大值是否已经达到。
账号余额是否充足(账号余额不足,弹性伸缩无法扩容),以及配额不足等其他原因,请参见 弹性伸缩故障处理

如何防止 Cluster Autoscaler 缩容特定节点?

# 可以在节点的annotations中设置如下信息
kubectl annotate node <nodename> cluster-autoscaler.kubernetes.io/scale-down-disabled=true

扩缩容事件如何反馈给用户?

用户可在弹性伸缩控制台查询伸缩组的伸缩活动,也可查看 k8s 的事件。在以下三种资源上都会有对应的事件:
kube-system/cluster-autoscaler-status config map
ScaledUpGroup - CA 触发扩容。
ScaleDownEmpty - CA 删除了一个没有运行 Pod 的节点。
ScaleDown - CA 缩容。
node
ScaleDown - CA 缩容。
ScaleDownFailed - CA 缩容失败。
pod
TriggeredScaleUp - CA 由于此 Pod 触发扩容。
NotTriggerScaleUp - CA 无法找到可扩容的伸缩组使得此 Pod 可调度。
ScaleDown - CA 尝试驱逐此 Pod 来缩容节点。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈