CCE Virtual Kubelet组件
概述
当您需要在短时间内快速创建大量 Pod 时,BCC 节点扩容速度可能无法满足要求,而预留额外的 BCC 节点又会产生资源浪费。可通过安装 CCE Virtual Kubelet 组件,该组件创建 CCE 虚拟节点,将 Pod 快速通过 CCE 虚拟节点调度到弹性容器实例 BCI 上运行,且无需购买和管理 BCC 节点。
本文介绍如何在 CCE 集群(CCE 标准托管集群和 CCE 标准独立集群)中将 Pod 调度到 BCI 上运行。
组件介绍
CCE Virtual Kubelet 组件是基于社区开源项目Virtual Kubelet,实现Kubernetes与弹性容器实例BCI的无缝连接。Kubernetes集群可以轻松获得极大的弹性能力,而不必受限于集群的节点计算容量。您可以灵活地按需创建BCI Pod,无需自行规划集群容量。
CCE Virtual Kubelet 将应用Pod以Serverless容器(BCI)方式运行,提供弹性、免容量规划、按需使用、按需计费的能力。在Job类任务、CI/CD、Spark大数据计算、在线应用弹性等场景中可以显著提升应用部署的弹性效率,以及降低应用的计算成本。

适用场景
在BCI上运行Pod适合应对突发流量,也能降低计算成本。典型场景包括:
- 有明显波峰波谷的在线业务:例如在线教育、电商等业务的流量通常有明显的波峰波谷,使用BCI Pod可以更快速地应对突发流量,降低计算成本。
-
非持续运行的计算任务,使用BCI Pod运行计算任务,无需保留固定节点,仅需为任务执行期间的计算资源付费,降低计算成本,例如:
- 数据计算:Spark大数据计算
- CI/CD Pipeline
- Job任务:例如定时任务、AI任务等。
组件功能

使用说明
前提条件
- 已创建 CCE 标准托管集群或者 CCE 标准独立集群,且集群版本为 1.18.9/1.20.8/1.22.5/1.24.4/1.26.9/1.28.8。如需创建集群,请参见 创建集群。
- 已开通弹性容器实例服务并确认集群所在区域在 BCI 支持的地域列表内。可登录 弹性容器实例控制台 开通相应服务,并查看当前支持的地域和可用区。
步骤一:部署 CCE Virtual Kubelet 组件
导航路径:【集群管理->集群列表->目标集群->运维与管理->组件管理】
- 进入组件管理页面,在组件列表中找到
CCE Virtual Kubelet。 - 单击 【安装】。
- 在确认弹窗中单击 【确认】,提交安装请求。
- 返回组件列表确认安装结果,
CCE Virtual Kubelet显示版本与状态信息,且不再显示 【安装】 按钮。
请注意: 若您已通过 Helm 模板安装
cce-virtaul-kubelet,暂不支持在组件管理安装,若您想通过组件中心安装则可 提交工单 联系我们处理。



步骤二:将 Pod 调度到 BCI 上运行
在虚拟节点启动 Pod
导航路径:【集群管理->集群列表->目标集群->工作负载】
相较于常规 Pod,需要在 Pod Spec 中添加如下 nodeSelector 和 tolerations 字段,才能将 Pod 调度到虚拟节点上。
Pod Spec 示例:
1spec:
2 nodeSelector:
3 type: "virtual-kubelet"
4 tolerations:
5 - key: "virtual-kubelet.io/provider"
6 operator: "Equal"
7 value: "baidu"
8 effect: "NoSchedule"
可通过以下要点确认调度结果:
spec.nodeSelector.type为virtual-kubelet。spec.tolerations包含virtual-kubelet.io/provider=baidu,且effect=NoSchedule。- Pod 已调度到虚拟节点(
spec.nodeName为虚拟节点名称)。
调度到虚拟节点上的 Pod 会以 BCI Pod 的形式启动。更多 BCI Pod 配置项说明请参考 配置 BCI Pod。
相关操作
为了使用虚拟节点的一些更高级特性,后续您可能需要升级 CCE Virtual Kubelet 组件或修改 CCE 虚拟节点配置。当您不再需要使用虚拟节点时,也可以卸载 CCE Virtual Kubelet 组件。
升级 CCE Virtual Kubelet 组件
升级耗时约 1 分钟。升级过程中无法新建 Pod,但对存量 Pod 不造成影响。
导航路径:【集群管理->集群列表->目标集群->运维与管理->组件管理】
- 在 【集群管理->集群列表】 中单击目标集群名称,进入集群详情页。


- 在目标集群中选择 【运维与管理->组件管理】,进入组件管理页面。


- 在
CCE Virtual Kubelet组件中单击 【...->升级】,并按照页面提示完成操作。若页面提示已是最新版本,则无需继续升级发布。


请注意: 若曾使用 Helm 模板安装组件的,暂不支持在组件中心升级,可通过 Helm 模板中心升级;若您想通过组件中心升级则可 提交工单 联系我们处理。
修改CCE虚拟节点配置
关于修改CCE虚拟节点配置的操作,请参见配置bci-profile。
卸载 CCE Virtual Kubelet 组件
导航路径:【集群管理->集群列表->目标集群->运维与管理->组件管理】
- 在 【集群管理->集群列表】 中单击目标集群名称,进入集群详情页。


- 在目标集群中选择 【运维与管理->组件管理】,进入组件管理页面。


- 在
CCE Virtual Kubelet组件中单击 【卸载】,并在确认弹窗中单击 【确认】,完成卸载。


注意: 若您的虚拟节点上仍存在 BCI Pod,将提示无法卸载。请先清理相关 BCI Pod 或对应工作负载后,再重试卸载。
版本记录

评价此篇文章
