一、背景
大家曾经留神到,Docker Hub 当初开始对镜像拉取进行限度,无论是收费的匿名用户,还是认证用户。在六个小时内,从一个 IP 地址镜像拉取的申请次数超过固定阈值(匿名用户 100 次,认证用户 200 次)后,Docker Hub 就会限度其拉取带宽。尽管用户依然能够拉取到 Docker 镜像,然而速度要慢得多。
您能够浏览咱们之前的博客文章《绕开 Docker Hub 下载限度:JFrog Artifactory》(https://mp.weixin.qq.com/s/I8…),以理解 Docker Hub 的相干策略,以及 JFrog Artifactory 如何帮忙您绕过这个限度。
对于依赖 Docker Hub 并将其作为 Docker 镜像核心的企业,这项新政策可能对其生产力产生重大影响。因为阈值是基于 IP 的,而不是基于用户的,因而这些限度可能会更快、更频繁地影响到企业的交付效率。
您晓得这些变动如何影响您的交付吗?通过对 JFrog 日志剖析的最新改良,当初 JFrog Artifactory 的用户能够通过 JFrog 的日志剖析来查找并决策如何加重这些限度的影响。本文将就此作简略的介绍。
二、应用 Artifactory 缓存 Docker Hub 的拉取申请
Artifactory 的用户曾经能够通过为 Docker Hub 建设近程仓库来升高拉取的频率。该近程仓库将代理并缓存从 Docker Hub 拉取的每个 Docker 镜像,以便未来从您的企业级制品库 / 镜像核心中间接拉取该镜像。
这样,只有从 Docker Hub 到缓存的第一次拉取才会计入 Docker Hub 的拉取限度。您最常应用的 Docker 镜像将始终以全速传递到您的构建中。而且一旦做了缓存,即便 Docker Hub 上的相应镜像变得不可用,这些镜像在企业级制品库 / 镜像核心中将始终保持可用。
您还能够在 Artifactory 中保护本人平安的、公有的 Docker 镜像核心,以进一步缩小对 Docker Hub 的依赖。
三、Docker 仓库剖析
对于由 Artifactory 反对的 JFrog DevOps 平台的自主装置,咱们提供了一个集成工具,该工具可通过 Fluentd 数据收集提供对立的 JFrog 日志数据。咱们还提供了其余一些应用程序和集成形式,能够应用这些数据,并出现到风行的分析程序(包含 Splunk、Elastic Stack、Prometheus/Grafana 和 DataDog 等)仪表板上。
通过最适宜您的剖析工具,您能够查看有价值的运维统计数据,例如数据传输量、哪些仓库正在被谁应用,以及哪些用户被回绝拜访等。
咱们更新了这些集成,以提供一个新的 Docker 统计信息选项卡,可帮忙您监督 Docker Hub 的应用状况。上面就让咱们一一介绍一下它们,以及它们在 Splunk 的 JFrog Logs 应用程序中的显示方式。
1、拉取申请趋势
单个计数批示最近 6 个小时对 Docker Hub 收回的拉取申请的数量,以及趋势是减速还是降落。该计数不包含近程仓库缓存满足的计数(即缓存未命中),因而它仅计算合乎 Docker Hub 限度策略的拉取申请。
2、Docker 仓库缓存命中率
缓存满足 Docker 镜像申请的频率以比率示意,其中值 1 示意缓存满足所有申请。例如,上面显示的比率 0.703 是 70.3%的缓存命中率。因而,只管高速缓存未命中总计 269 次(29.7%),但 Artifactory 以全传输速度解决了 628 个拉取申请。
3、Docker Hub 拉取申请
该图显示了在 6 小时滚动工夫内收回的 Docker Hub 拉取申请的数量。每个栏显示从该小时标记开始的前六个小时内收回的拉取申请的总数。
该统计信息将帮忙您查看您的企业是否靠近或超过了 Docker Hub 限度策略,以及拉取顶峰在什么工夫。
4、十大用户和 IP
这些统计数据按用户和 IP 地址揭示了 Docker 仓库的次要用户是谁。如果您发现超出了拉取申请,则此信息能够帮忙您确定次要的负责方。
四、总结
Docker Hub 推出了对拉取申请的限速策略,应用 Artifactory 作为企业级镜像核心能够帮忙您绕过这个限度,而 JFrog 的日志剖析能够帮忙您剖析企业 Docker Hub 拉取申请的状态。
您能够在 Github 上找到 JFrog 日志剖析集成的数据收集和剖析工具(https://github.com/jfrog/log-…)。
它始于与开源数据收集器 Fluentd 的集成,该集成可随 JFrog Platform 部署的每个产品实例一起装置。Fluentd 在 JFrog 平台中为每个产品执行日志输出、字段提取和记录转换,并将此数据的输入标准化为 JSON,以传输到剖析和 BI 仪表板。
应用此解决方案,您能够治理从 Docker Hub 拉取的次数和频率,并加重新限度策略的影响。