开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:阿里云原生容器服务产品体系-阿里云容器镜像服务ACR 介绍】
课程地址:https://edu.aliyun.com/course/3112075/lesson/19020
阿里云原生容器服务产品体系-阿里云容器镜像服务 ACR 介绍
内容介绍
一.阿里云容器镜像服务
二.容器镜像服务两种产品形态
三.容器镜像服务-全球大规模镜象分发
四.容器镜像服务实现架构
五.容器镜像服务默认实例与企业版的区别
六.容器镜像服务企业版功能
七.容器镜像服务企业版案例-云原生应用交付链
一.阿里云容器镜像服务
容器镜像服务作为阿里巴巴经济体云原生领域最重要的基础设施之一,早在双11备战期间就已面临了大规模的分发需求。为了更好的支持这一需求,镜像产品提前进行了规化及迭代更新,全面提升了大规模分发场景下的性能以及可观测性和稳定性。在2020年新的双11来临前,容器镜像服务形成了镜像数据,月镜像拉取次数达到了上亿次,同时产品提供了云原生应用交付链等全面的功能,全面的覆盖了阿里经济体以及云上用户在云原生时代基础的使用需求。
阿里镜像服务是经过双11验证的产品,阿里云容器镜像,简称ACR。它提供了一个云原生的资产的安全托管和生命周期的管理平台。支持多场景下的镜像高效分发,与容器ACK可以实现无缝集成,打造云原生应用的一站式解决方案。
容器镜像服务ACR分为两个版本:容器镜像服务ACR默认实例版和容器镜像服务ACR企业版。两种形态有什么区别?两个形态如何定义?
二.容器镜像服务两种产品形态
容器镜像服务分为两种产品形态,一种是ACR默认版。
它提供的是基础的容器镜像服务,包括安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外20多个地域覆盖的镜像构建,便捷的镜像授权功能,方便用户进行镜向全生命周期的管理。
容气镜像ACR企业版是企业级的云原生应用视频的管理平台,能够提供更大规模的容器镜像,符合OCI规范制品的生命周期管理,能够支持大规模、多地多产品下应用制品高效的分发,与容器ACK可以进行份的集成,帮助企业降低交付的复杂度。特别在大规模镜像分发前提下,ACR容器镜像企业版支持按需的模式加载,实现镜像数据全量免下载和在线解量。平均容器启动时间降低了60%,提升了三倍的应用分发效率。目前已有众多的企业在生产环境使用ACR企业版。保证企业客户云原生应用制品的市场安全托管,多产品的高效分发。这是容器镜像服务企业版的能力。
三.容器镜像服务-全球大规模镜象分发
容器镜像服务最大特点是支持全球的大规模镜象分发,云原生应用交付链最重要的就是一次应用的提交能够在全球多地域进行自动化的交付。
容器镜像服务就是提供一个在云原生应用整体的交互链上提供一次性提交,能够全球多地域、多场景的自动交付,当前环节完成后,云原生应用正式进入全球化大规模的分发环节,为了保证半节点的分钟级分发的协同完成,容器镜像服务联合了容器服务以及弹性容器实例等云原生产品提供了端到端的机制体验,针对全球任务的分发,基于细力度的同步策略调度同步的链路优化的优化手段。
云原生用户在全球的同步效率相比手动同步提高了7倍,特别是在p2p大规模的分发方面,镜像企业版产品对云环境多次优化了分发方案。最终通过多个创新技术,解决了大规模的镜像稳定下来以及跨网络、隔离等场景下各种镜像稳定的分发难题,大规模提高了规模化容器镜像分发的能力。平均镜像大规模分发效率比普通的方式提高4倍。适用于容器集群和单群节点达到100以上的产品,这是整个云原生交互的集成能力。具备可观测、可追踪和自主配置的多场景、多策略的自动交付能力,这就是容器镜像服务最大的一个特点。
四.容器镜像服务实现架构
容器镜像服务提供了安全的端到端的应用交付链。安全是企业在应用容器技术中最大的顾虑,特别是将应用部署到公有云上,人们对安全就会有很多的疑问。为了系统化的提升容器平台的底层安全性,需要进行全方位的安全防护。
阿里云的做法就是将安全的概念完全融入到整个软件的生命周期,将安全防护能力转移到了开发用户的构建阶段和用户的交付阶段。ACR镜像服务企业版提供了完整的安全软件的交互链。从用户构建容器镜像,容器镜像提交以后对于容器镜像的扫描和漏洞的阻断,对镜像安全的加签加密,形成漏洞的修复报告。能够在容器服务发布之前,通过KMS进行安全的加密。再通过KMS密钥服务自动对容器进行验签,特别是在容器发布的时候,在Kubernetes容器服务器中也可以配置相应的安全策略,只有允许经过安全扫描,符合上线要求的镜像才可以在生产环境发布。
整个软件的交易交付链路是可观测、可追踪的。特别是通过区域策略进行配置管理。在保证安全的前提下,可以极大的提升软件的交付效率,用户无需担心镜像和镜像服务的安全问题。
五.容器镜像服务默认实例与企业版的区别
采用开源harbor的方式有哪些区别呢?在客户画像方面:企业版更适合企业的客户,对安全要求比较高,要求全球多地的业务部署,有大规模的节点分发需求,适合企业版。默认实例版适合一些中小企业和一些容器的开发者。Harbor的开源需要自己构建平台,适合容器的客户对技术性和安全性都有很高的要求。企业版提供了全面的SLA,能够在服务平面提供99.95%的sla性能的赔付。
在制品托管方面:性能上,企业版能够做性能独享,客服的OSS Bucket私有化托管。默认实例把支持镜项拉取及推送的限额流控,多样性方面,多架构的容器镜像及Helm Chart的不同的版本,企业版都是可以支持的。默认实例版是支持容器镜像。安全方面:企业版提供了端到端的安全服务,安全扫描镜像加签。默认实例版不支持网络的访问控制,但是支持开源安全的扫描,需要自行做相应的工作。HUB开源的方式不支持网络访问控制,支持安全扫描及加签。这些都是开源的,需要自己定义和开放的。在智能构建方面,企业版和默认版都支持智能快速的通过界面方式对镜像进行构建。
在应用分发方面:P2p分发企业版支持千节点的大规模镜像分布。默认版和hub都是不支持的。全球地域同步企业版支持全球多个地域覆盖自动同步,默认实例版主要是面向国内进行手动触发,开源版需要自行构建并打通网络。
在应用交付方面:云原生交付方面企业版提供了全链路的可观性,可追踪、可自主设置服务,并且能够保障高效的进项资产分发和安全。
收费方面:企业版是根据使用的量和分发量收费的,默认实例版是免费,hub需要在底层构建资源及人源的维护成本。可以清楚看到,如果有生产级的需求,并且不希望耗费太多的资源在开源技术的部署和维护上,就可以选择容器镜像切板。如果是简单的开发者,需要做相应的测试和镜像的服务,可以选择默认实力版。如果有实例,希望能够做一些自研的能力,就可以考虑开源的模式。
六.容器镜像服务企业版功能
容器镜像企业版ACR是企业级的云原生应用视频管理平台。提供了容器镜像、helm chart符合OCI规范制品的生命周期管理,是大规模、多地域、多产下应用制品的高效分发。
核心功能主要四个方面:第一,云原生制品托管,能够提供多架构的容器镜像的托管支持,提供从源代码到标准容器定下的构建服务,支持海外构建,自能化构建,自动化构建,多阶段的构建能力;第二,多维度的安全保障,应用制品的加密存储支持镜像的安全扫描,多维度的扫描保障容器镜像的内容安全。此外,通过KMS提供容器镜像加签,保证整个镜像分发电路上的安全可信。特别是在网络访问控制管理方面,保证了公网和VCPU网络下的访问安全;第三,支持全球的应用分发,覆盖了全球主要地域,提供了多种策略和网络链路的优化,保证进项分发的高效、稳定、安全,支持单集群、多节点的场景下大规模镜像分发;第四,提供了整个的应用交付链,提供了云原生交付链整体的能力。支持全链路的可观测、可追踪、可设置等多种策略支持,保证安全的交付,这就是镜像企业版的功能。
七.容器镜像服务企业版案例-云原生应用交付链
企业版是如何实现整个云原生交互链,并且能够保证相应的安全的?
举个例子:有一个业务开发人员的场景,他会提交代码,构建镜像,把镜像发布到全球进行服务。首先第一步,开发人员将代码提交到Gitlab代码托管平台。提交到代码托管平台之后,进行代码的构建和代码变更。ACR企业版收到Gitlab代码变更通知后,自动将代码构建成容器镜像,进行加密的托管到容器实例中,ACR EE就开始创建云原生应用交付链的DevSecOps整体流程。交付链将保证容器镜像自动、安全的扫描和阻断。
如果发现高危漏洞,则基于安全策略去阻断后续的交付部署。如果通过安全扫描流程自动的将镜像加签并触发后续不同的镜像部署。后续的EAS部署集群,收到通知后自动从ACR EE企业版实例中获取最新版本镜像,最终在不同集群上发布服务,包括测试集群、预发集群和生产集群。根据在后面EAS上的配置,依据触发规则提供不同的触发服务,这样就完成了整个的端到端的云延伸应用交付链。
在一个地方开发提交代码,能够在全球进行部署和发布,保证了版本的一致性和软件开发效率的提升,这就是云原生应用交付链的介绍。