默认情况下,TKE 普通集群添加了虚拟节点节点池后,会在 Node 资源不足时,自动向虚拟节点调度 Pod。弹性集群则会自动在多个虚拟节点随机调度 Pod。
此时如果您不希望向某虚拟节点(代表某子网/可用区)调度,可通过以下两种方式封锁虚拟节点实现禁止调度:
$kubectl cordon $虚拟节点名称
需要在 kube-system 命名空间下,新建名为 eks-config 的 configmap。执行命令如下:
$kubectl create configmap eks-config --from-literal=AUTO_SCALE_EKS=false
将 AUTO_SCALE_EKS 的 value 设置为 false,即可关闭 TKE 普通集群向虚拟节点的自动调度机制。
默认虚拟节点会自动添加 Taints 以降低调度优先级,如需手动调度 Pod 到虚拟节点或指定虚拟节点,通常需要为 Pod 添加对应的 Tolerations。但并非所有的 Pod 均可以调度到虚拟节点上,详情请参见 虚拟节点调度说明。为方便使用,您可以在 Pod Spec 中指定 nodeselector 。示例如下:
spec:
nodeSelector:
node.kubernetes.io/instance-type: eklet
或在 Pod Spec 指定 nodename。示例如下:
spec:
nodeName: $虚拟节点名称
TKE 的管控组件会判断该 Pod 是否可以调度到虚拟节点,若不支持则不会调度到虚拟节点。
注意:强制调度到虚拟节点,Pod 可能会创建失败,失败原因可参见 如何手动调度 Pod 到虚拟节点。
如需强制调度 Pod 到虚拟节点,除了为 Pod 指定 nodeselector 或 nodename,也必须添加对应的 Tolerations。
为 Pod Spec 中指定 nodeselector。示例如下:
spec:
nodeSelector:
node.kubernetes.io/instance-type: eklet
或在 Pod Spec 指定 nodename。示例如下:
spec:
nodeName: $虚拟节点名称
spec:
tolerations:
- effect: NoSchedule
key: eks.tke.cloud.tencent.com/eklet
operator: Exists
作者:Mintimate 博客: https://www.mintimate.cn Mintimates Blog,只为与你分...
本文转载自微信公众号「前端GitHub」,作者全栈修炼。转载本文请联系前端GitHub...
NIO1. 基础概念 在NIO中有几个比较关键的概念 Channel 通道 Buffer 缓冲区 Selec...
TOP云 (west.cn)12月12日消息,据外媒消息,近日亚马逊和谷歌战争升级,随着谷...
任何编程语言的简写技巧都能够帮助你编写更简练的代码,让你用更少的代码实现你...
互联网对于IDC行业的需求正在不断的发生着变化,现有的网络增值服务已经无法适应...
从诞生到开放使用 随着中国的发展,很多技术因为一些原因越来越受制于人,尤其是...
DCC是物理隔离的专属计算资源集群,集群中主机可能会因为故障而自动停机。为降低...
如您收到备份失败的短信或邮件,则说明某一区域的某个或多个存储库存在备份失败...
当前,全球新一轮科技革命和产业变革孕育兴起,带动了人工智能等数字技术加速演...