网易数帆布道KubeCon北美,系统诠释云原生制品管理

网易数帆2020-12-15 21:05

企业数字化转型势不可挡,云原生技术开始进入越来越多的企业。同时容器环境下的应用交付模式也迎来了新挑战 - 这个过程涉及到各种不同的云原生制品(artifact),如何高效地管理、分发这些制品,成为企业容器化道路上的一个难点。

在近日举办的全球顶级开源盛会 KubeCon + CloudNativeCon North America 2020 虚拟会议上,网易数帆资深架构师裴明明和VMware中国研发中心云原生实验室技术总监张海宁一起分享了云原生技术架构下的制品管理以及如何实现大规模分发。其中张海宁介绍了云原生制品种类和制品管理的功能特性,并且详细讲解了Harbor制品管理功能,特别提到了Harbor一些特性功能和使用场景,其中包括一些即将发布的特性。裴明明则基于数帆旗下轻舟云原生平台的实践,系统介绍了云原生制品管理的经验心得,包括复杂场景下的制品仓库管理,制品仓库的高可用,多环境下的制品交付,制品安全,大规模集群下的制品交付等,为企业推进容器化拥抱云原生提供了经受业务验证的范例。


制品仓库管理

在网易,云音乐、严选、传媒等各不同业务已经普遍实现容器化。作为统一云原生基础设施的轻舟平台,基于业务需求使用了多种格式应用制品,包括最基础的容器镜像,以及HelmChart,Operator Bundle等云原生制品,同时轻舟还使用了GitOps技术,充分贯彻基础设施即代码的运维理念,此外网易有大量的Kubernetes集群,和复杂的交付环境,这些都要求轻舟能提供一个简便、灵活的制品仓库服务。

网易轻舟将Harbor作为制品管理的基础软件,实现了一套适合复杂场景的制品管理平台。轻舟首先在Harbor中新增了网易对象存储(NOS)驱动,使用它作为Harbor的后端存储,这样可以充分利用网易对象存储的性能优势。然后通过自建服务网易容器仓库(NCR)来管理Harbor实例,并且打通了网易容器服务(NCS),使得Kubernetes集群和制品仓库可以灵活地组合起来,这样做有两大好处:一是打通制品交付,使得用户可以更好地管理自己的环境,甚至不用感知到仓库的存在;二是用户可以很方便地管理分发需要的秘钥。这也是DevOps能力的一部分。


制品仓库高可用

制品仓库的运维也是很重要的一个部分,裴明明介绍了Harbor实现高可用的难点,并详细阐述了如何解决这些难点,主要包括对象存储后端,基于STOLON的高可用PostgreSQL方案,基于HAProxy的高可用Redis等。除了架构的高可用,监控日志也是服务稳定运行的一个重要保障手段。

跨环境交付

在解决制品仓库和Kubernetes集群之间的绑定和环境划分之后,轻舟通过制品复制能力实现制品跨环境的交付,这也是增强团队内不同角色之间协作或者跨地域团队协作的一种方式,制品可以在多个环境内基于指定的规则复制,成为实现应用跨集群交付的一种分发方式。

大规模分发

网易有着大规模应用交付的场景,这对容器镜像的分发也提出了很高的要求,大量镜像的分发会挤占网络带宽,导致镜像拉取缓慢影响业务容器启动速度,这在应用更新发布,弹性扩缩容场景下是不能容忍的。轻舟集成了Harbor和Kraken(Uber开源的P2P镜像分发工具),实现了集群内同时5000个节点拉取镜像的能力,两种工具集成的方案可以在各自的社区文档中找到。P2P的分发模式同样适用于人工智能领域下的超大镜像分发加速,这在网易业务场景中都有实践。 

裴明明还分享了网易业务场景中大规模分发的一些性能数据,这些数据展示了集成方案下P2P网络的一些特性,方便大家更好的根据自己的场景规划部署架构。

 制品安全管理

应用安全在任何时候都是一个很重要的话题,而制品的安全则是整个应用安全管理链上重要的一个环节,裴明明介绍了基于Harbor安全扫描功能的安全管理模式,一种是和CI/CD集成的漏洞卡点,另一种则是分发卡点,两者结合起来可以很好的限制住危险镜像交付到生产环境中。另外镜像签名技术也是镜像安全的一部分,他可以很好的保证镜像来源的正确性,这种技术一般在金融场景下使用会更加广泛。

大规模集群下的制品交付

裴明明最后介绍了制品仓库和CI/CD的集成,网易轻舟平台借此实现了以应用为中心的交付模式。用户想要更好地使用各种研发工具,并且使用过程中不会产生割裂感,就需要通过一个媒介把整个研发流程串联起来。轻舟的实践,在CI阶段这个媒介是代码,代码的版本,提交id等可以很好的将多个阶段关联起来。而在CD阶段这个媒介就是制品版本,由此基于制品管理构建了一套交付流程,将制品、版本、服务串联起来,使用户能够轻松地将研发场景串联起来,实现研发流程引擎,帮助用户更好地管理项目和应用交付。

题外话

       关于云原生制品管理与实践的更多技术干货,包括网易数帆的业务实践案例,读者也可以通过《Harbor权威指南》一书了解,该书由来自VMware、网易数帆和腾讯等团队的Harbor开源项目维护者和贡献者编著,目前已出版。