更新时间:2024-12-04 GMT+08:00

插件高可用部署

应用场景

CCE提供了多种插件扩展集群云原生能力,涵盖了容器调度与弹性、云原生可观测、容器网络、容器存储、容器安全等方向,插件通过Helm模板方式部署,将插件中的工作负载部署至集群的工作节点。

随着插件使用的普及化,业务对插件的稳定性、可靠性保证已成为基本诉求。目前CCE服务默认的插件部署策略是工作节点之间配置了强反亲和,AZ之间配置了弱反亲和的调度策略。本文提供了CCE插件调度策略的优化实践,业务可以根据自身可靠性的要求优化插件的部署策略。

查看插件的调度策略

插件一般由无状态工作负载、守护进程等组成,守护进程默认会在所有节点上部署,而无状态工作负载在高可用的情况下会设置多实例部署。

以域名解析CoreDNS插件为例,默认部署2个实例,多可用区部署为优先模式,其调度策略为节点强反亲和、AZ弱反亲和,因此集群需要2个节点才能保证所有实例正常运行,且优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区下的不同节点。

为集群创建不同可用区的节点

  1. 登录CCE控制台。
  2. 在左侧导航栏中选择“集群管理”,单击要创建节点的集群进入集群控制台。
  3. 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签并单击右上角的“创建节点”
  4. 在节点配置步骤中,选择节点可用区。
  5. 根据提示填写其他必要参数后,单击“创建”。

重复以上步骤,选择创建不同可用区的节点。您也可以通过创建多个节点池,节点池中关联不同的可用区规格,扩容不同节点池的实例数来为集群创建不同AZ的节点。

配置插件的可用区反亲和调度策略

默认的插件调度策略可以容忍单节点的故障,当业务对SLA有更高诉求,您可以在节点池界面创建不同的可用区规格节点,并且设置插件调度策略的多可用区部署为强制模式。

本文以CoreDNS插件为例,设置插件的多可用区部署策略。

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧导航栏中选择“插件中心”,在右侧找到CoreDNS域名解析插件,单击“编辑”
  3. 设置插件的多可用区部署策略为“强制模式”,单击“安装”。
  4. 在“工作负载”页签查看CoreDNS容器,切换至“kube-system”命名空间查看coredns实例的分布。
  5. 插件的无状态工作负载已经分配到了两个可用区的节点上。