CCE P2P Accelerator 说明
更新时间:2024-06-04
使用前提
- 创建容器镜像服务CCR企业版实例,且创建的企业版实例规格为标准版或高级版,具体操作请参考 创建企业版实例。
-
创建CCE集群且容器集群需要具体以下配置,具体操作请参考 创建集群。
- 集群Kubernetes版本在1.18及以上。
- 不能为ARM架构集群。
- 容器镜像服务CCR企业版实例中配置了私有网络访问控制,具体操作请参考 配置私有网络访问控制。其中在配置CCR企业版私有网络控制时选择的私有网络对应着CCE集群所在的私有网络,CCE集群所在的私有网络查询请参考 查看集群。
适用场景
当大规模容器集群批量下载镜像时,容器镜像存储的网络带宽会成为性能瓶颈,导致镜像拉取缓慢。P2P加速功能利用集群中计算节点的带宽资源,进行节点之间镜像分发,减少对容器镜像存储的压力,可以大幅提升镜像拉取速度,减少应用部署时间。
组件介绍
CCE P2P Accelerate 组件提供容器镜像P2P加速能力,用户在容器引擎CCE集群中部署P2P加速组件,部署或更新业务拉取镜像时,利用集群计算节点的带宽资源,进行节点之间镜像分发,提升镜像拉取速度。
限制说明
- 仅支持 v1.18 及以上版本的 Kubernetes 集群,且不支持ARM架构集群。
安装组件
- 登录百度智能云官网,并进入管理控制台。
- 选择”产品服务>云原生>容器引擎CCE”,单击进入容器引擎管理控制台。
- 单击左侧导航栏中的”集群管理>集群列表”。
- 在集群列表页面中,单击目标集群名称进入集群管理页面。
- 在集群管理页面单击”组件管理”,切换Tab页到“镜像”。
- 在组件管理列表中选择“CCE P2P Accelerater”组件单击”安装”。
- 输入CCR实例ID,带宽限速和端口后,点击”确认”按钮完成组件的安装。
启用P2P加速
CCE集群通过给容器或命名空间打标签的方式开启P2P,您可以根据实际情况选择合适的方式:
说明:标签的名称为
cce.baidubce.com/p2p-accelerate
,值为true
。
-
单独为容器组添加镜像加速标签,例如Deployment、DaemonSet等。
注意: 容器的p2p标签需要打在工作负载的spec.template.metadata.labels下才可以有效的开启p2p功能。
- 也可以为CCE集群的命名空间设置标签,该命名空间下所有符合加速条件的工作负载都会启用按需加载容器镜像,无需再修改工作负载的YAML文件。
启用P2P加速后,加速组件会自动给Pod注入相关Annotation、P2P加速镜像地址以及对应的镜像拉取凭证(其中仅镜像仓库地址不一样,镜像拉取凭证与原先一致)。
P2P加速示例
1、在Deployment文件中的template中添加cce.baidubce.com/p2p-accelerate:true标签
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-example
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
cce.baidubce.com/p2p-accelerate: "true" #启用P2P加速
spec:
containers:
- name: nginx
image: ccr-1xgztest-vpc.cnc.gz.baidubce.com/eccr-qa-private/nginx:1.22.0
imagePullSecrets:
- name:test-registry
2、Deployment中Pod已注入P2P相关annotation、P2P加速镜像地址以及对应的镜像拉取凭证,说明启用P2P加速成功
apiVersion: v1
kind: Pod
metadata:
annotations:
cce.baidubce.com/p2p-accelerate: "true" #启用P2P加速
spec:
containers:
- image: ccr-1xgztest-vpc-p2p.cnc.gz.baidubce.com:60001/eccr-qa-private/nginx:1.22.0 #p2p代理以后的容器镜像地址
imagePullSecrets:
- name: test-registry
组件功能
- cce-p2p-accelerator:获取命名空间或者工作负载的上的标签cce.baidubce.com/p2p-accelerate,判断是否启用p2p镜像加速, 如果value为true,则修改镜像地址为p2p地址。
- cce-p2p-accelerator-dragonfly-dfdaemon:镜像运行守护进程,提供任务下载能力。
部署情况
安装 CCE P2P Accelerate 组件,将在 Kubernetes 集群中部署以下对象:
对象名称 | 所属namespace | 所占资源 | 类型 |
---|---|---|---|
cce-p2p-accelerator | kube-system | - | Deployment |
dragonfly-dfdaemon | kube-system | - | DaemonSet |
cce-p2p-accelerator | kube-system | - | ServiceAccount |
cce-p2p-accelerator | kube-system | - | Secret |
cce-p2p-accelerator | kube-system | - | ConfigMap |
dragonfly-dfdaemon | kube-system | - | ConfigMap |
cce-p2p-accelerator | kube-system | - | ConfigMap |
cce-p2p-accelerator | - | - | ClusterRole |
cce-p2p-accelerator | - | - | ClusterRoleBinding |
cce-p2p-accelerator | kube-system | - | ServiceAccount |
cce-p2p-accelerator | kube-system | - | Service |
cce-p2p-accelerator | kube-system | - | MutatingWebhookConfiguration |
支持 Annotations
参数名 | 类型 | 说明 | 示例 |
---|---|---|---|
cce.baidubce.com/p2p-accelerate | string | 是否开启P2P镜像加速 | "true" |
版本记录
版本号 | 适配集群版本 | 更新时间 | 更新内容 | 影响 |
---|---|---|---|---|
1.1.1 | CCE/v1.18+ | 2024.04.11 | 优化scheduler部署架构,提升p2p种子获取效率 | - |
1.0.1 | CCE/v1.18+ | 2023.03.21 | 首次上线 | - |