开发者社区> 问答> 正文

如何使用企业版P2P 加速功能?

如何使用企业版P2P 加速功能?

展开
收起
小天使爱美 2020-03-25 12:18:09 1119 0
2 条回答
写回答
取消 提交回答
  • 本文介绍 P2P 加速功能的基本概念、配置方法、使用方法以及故障排查。 什么是 P2P 加速

    在镜像拉取流程中,所有镜像的数据流量都从服务器中统一拉取。当几十台 ECS 同时拉取镜像时,我们提供的服务器可以提供顺畅的拉取能力。但当您的集群达到几百台甚至几千台的规模时,服务器的带宽限制会制约您分发镜像的时间。

    镜像服务企业版提供了 P2P 加速的能力,可以在大规模容器集群批量下载镜像的场景中,提升容器镜像分发能力,享受极速镜像拉取速度,减少应用部署时间。 说明

    当集群规模达到 300 节点以上时,使用效果会更佳。
    推荐使用多可用区 vswitch 打散集群 ECS 节点。
    推荐使用本地 SSD 或者可分配内存较大的 ECS 实例。
    当集群规模较小或可分配内存不足时,可能不会起到加速的效果。
    

    配置 P2P 加速插件

    当前 P2P 加速插件可以支持 Kubernetes、多可用区 Kubernetes 集群、Kubernetes 托管版,暂不支持 Serverless Kubernetes。

    以下流程需要在 Linux/Mac 环境下运行,依赖于 kubectl 的方式连接到 Kubernetes 集群。如果您可以在命令行中执行kubectl get pod,并看到返回结果,则说明当前环境可以正常安装插件。

    推荐您通过 SSH 登录到集群内任意节点进行操作,如果是 Worker 节点,请先参考通过 kubectl 连接 Kubernetes 集群 ,完成环境中 kubectl 配置。

    建议通过配置 dockerd 的 max-concurrent-downloads 字段至适当数值以提升镜像拉取效率,默认值为 3 层,可以提升至 5 至 20 层。详细信息请参考Docker官网文档。

    具体的安装脚本因实例而异,请登录镜像服务企业版控制台,P2P 加速一页中进行查看。 使用 P2P 方式拉取镜像

    您需要通过带有 distributed 字样的域名拉取镜像,您可以在 P2P 加速一页中 通过《安装脚本安装P2P加速》章节中进行查看,域名例如hello-df-registry-vpc.distributed.cn-hangzhou.cr.aliyuncs.com:65002 。

    默认情况下,该 P2P 域名会带有 65002 端口,当您希望使用 443 端口访问时,您可以在安装 P2P 加速的时候指定export PORT="443"来指定想要的端口。请注意,该端口默认会在所有节点上被默认占用。

    在拉取镜像之前,您需要登录该镜像仓库,例如docker login hello-df-registry-vpc.distributed.cn-hangzhou.cr.aliyuncs.com:65002。拉取镜像时,您可以通过 docker pull 或者 kubernetes 集群启动应用的方式。例如您希望拉取 foo 命名空间下 bar 的镜像仓库,您可以使用docker pull hello-df-registry-vpc.distributed.cn-hangzhou.cr.aliyuncs.com:65002/foo/bar。

    通过 P2P 方式拉取镜像时,镜像层数据会在后台预先下载完毕,再传输给 Docker Engine。因此镜像拉取的前半段时间,进度条会保持静止状态,后半段时间,进度条会瞬间达到100%。 性能指标

    300 节点 ecs.i2.xlarge 4C32G 本地 SSD ECS,并发拉取 4 层每层 512 MB 的镜像时,对比非 P2P 加速模式下减少 80% 的数据拉取时间。 故障排查

    运行以下命令可以列出当前 P2P 加速插件的所有 Pod:

    kubectl get pod -n cr-dfagent -o wide

    如果 Pod 数量与 Worker 节点数量不一致:
        检查未调度 Pod 节点上是否有 taints 影响 DaemonSet 的调度。
        尝试重新安装 P2P 加速插件。
    如果部分 Pod 出现 CrashLoopBackOff 异常状态时,可以通过 kubectl logs 命令查看失败的 Pod 的日志。
    
    kubectl -n cr-dfagent logs -f POD_NAME df-agent
    kubectl -n cr-dfagent logs -f POD_NAME df-nginx
    

    如果无法解决,请提交工单处理。

    2020-03-25 12:31:13
    赞同 展开评论 打赏
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    你可以看下这篇文章, 或许会对你有帮助 【本文介绍 P2P 加速功能的基本概念、配置方法、使用方法以及故障排查。】 https://www.alibabacloud.com/help/zh/doc-detail/120603.htm

    2020-03-25 12:29:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《容器镜像服务企业版 (ACR EE)》 立即下载
阿里云Redis企业版Tair持久存储系列技术解读 立即下载
阿里云Redis企业版Tair持久存储系列产品详解 立即下载