上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群组件管理 - DNSAutoscaler 说明
容器服务 TKE
腾讯云容器服务 TKE 标准集群组件管理 - DNSAutoscaler 说明

文档简介:
组件介绍: DNSAutoscaler 是 DNS 自动水平伸缩组件,可通过一个 deployment 获取集群的节点数和核数,根据预设的伸缩策略,自动水平伸缩 DNS 的副本数。目前的伸缩模式分为两种,分别是 Linear 线性模式 和 Ladder 阶梯模式。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

简介

组件介绍

DNSAutoscaler 是 DNS 自动水平伸缩组件,可通过一个 deployment 获取集群的节点数和核数,根据预设的伸缩策略,自动水平伸缩 DNS 的副本数。目前的伸缩模式分为两种,分别是 Linear 线性模式Ladder 阶梯模式

Linear Mode

ConfigMap 配置示例如下:
		
data:
linear: |-
{
"coresPerReplica": 2,
"nodesPerReplica": 1,
"min": 1,
"max": 100,
"preventSinglePointFailure": true
}
目标副本计算公式: replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) ) replicas = min(replicas, max) replicas = max(replicas, min)

Ladder Mode

ConfigMap 配置示例如下:
		
data:
ladder: |-
{
"coresToReplicas":
[
[ 1, 1 ],
[ 64, 3 ],
[ 512, 5 ],
[ 1024, 7 ],
[ 2048, 10 ],
[ 4096, 15 ]
],
"nodesToReplicas":
[
[ 1, 1 ],
[ 2, 2 ]
]
}
目标副本计算: 假设 100nodes/400cores 的集群中,按上述配置,nodesToReplicas 取2(100>2),coresToReplicas 取3(64<400<512),二者取较大值3,最终 replica 为3。

部署在集群内的 Kubernetes 对象

kubernets 对象名称
类型
请求资源
所属 Namespace
tke-dns-autoscaler
Deployment
每节点20mCPU,10Mi内存
kube-system
dns-autoscaler
ConfigMap
-
kube-system
tke-dns-autoscale
ServiceAccount
-
kube-system
tke-dns-autoscaler
ClusterRole
-
kube-system
tke-dns-autoscaler
ClusterRoleBinding
-
kube-system

限制条件

仅在 1.8 版本以上的 kubernetes 集群支持。
集群中的 dns server 的工作负载为 deployment/coredns。

特别说明

CoreDNS 的水平伸缩可能导致部分副本在一段时间内不可用,强烈建议安装该组件前,进行相关的优化配置,最大程度保证 DNS 服务的可用性,具体可参考 配置 CoreDNS 平滑升级

使用方法

1. 登录 容器服务控制台,在左侧导航栏中选择集群
2. 集群管理页面单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的组件管理,进入组件列表页面,单击新建
4. 新建组件页面中勾选 DNSAutoscaler。该组件默认伸缩配置策略如下:
		
data:
ladder: |-
{
"coresToReplicas":
[
[ 1, 1 ],
[ 128, 3 ],
[ 512,4 ],
],
"nodesToReplicas":
[
[ 1, 1 ],
[ 2, 2 ]
]
}
扩展组件创建成功后,可以通过修改 kube-system 命名空间下的 configmap/tke-dns-autoscaler 来变更配置。详细配置请参见 官方文档
5. 单击完成即可创建组件。
相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部