前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈容器镜像运维

谈谈容器镜像运维

作者头像
Henry Zhang
发布2019-04-12 17:14:14
6050
发布2019-04-12 17:14:14
举报
文章被收录于专栏:亨利笔记亨利笔记

题图摄于犹他州Zion国家公园

(本文发布时,开源镜像仓库Harbor在Github上已获得3043颗星: https://github.com/vmware/harbor

不久前的 CNUTCon 2017全球运维技术大会上,笔者接受了 InfoQ 的关于容器镜像运维的采访。下面是采访的视频,供大家参考。感谢 InfoQ 录制视频和整理文字,点击“阅读原文”可查看 InfoQ 的原文。欢迎转发给需要的朋友。

问题1: 请谈谈您对高效安全的镜像运维的理解。

答:很多现在做容器的用户,他们很关心的一个问题是怎么样把这个容器的应用跑得好,可能他会想,我是用Kubernetes,还是用Docker Swarm,或者其他的一些技术来跑我的容器应用。

我们觉得这仅仅是在容器运维上面动态的侧面。就是说,把这个运行的平台弄好了之后,还有另外一个侧面就是静态的容器平台,所谓静态的就是这个容器的镜像。通常来说,就是容器除了动态地在内存里面跑的一个容器化的实例之外,它还需要有一个静态的镜像放到存储里。就是说容器动态和静态的结合,才是完整的一个容器平台。所以高效安全的容器镜像的管理,在任何一个企业的运维里面都是非常必要的,应该说,做得好不好,会实际影响到它的效率,以及安全性的一些问题。

视频内容

问题2: 采用Harbor开源企业级Registry实现高效安全的镜像运维,与其它的Registry项目相比,Harbor有哪些优势?

答:

Harbor这个项目是最早在我们VMware中国研发中心的一个很小的一个副产品,Side Project,这个项目做出来之后,我们在公司内部用了一段时间,觉得效果还不错,去年我们把它开源出来,面向全球的用户让他们去使用,最终效果也非常好。 总结起来,大部分用户对我们 Harbor 项目喜欢的地方,主要有几个:

第一个是说,我们这是开源的一个解决方案,而且是面向企业用户的开源解决方案,用的是 Apache License 2.0,这样的话,基本上谁都可以拿去使用或者修改,没有太多的义务或者约束。 第二点,我们是结合了很多社区里边的反馈信息,提炼出这么一个作品出来,这样使得 Harbor 一诞生的时候,已经非常符合整个用户的需求。 那怎么设计的呢?我们是用了最简单的功能去实现了用户百分之八九十的需求,相对来说它是非常简单的,像用户模型的设计,我们只有一层的设计,其他的 Registry 可能是有很复杂的用户模型,相比起来非常复杂难理解。简单是一个优势。 还有就是我们有些特色的功能,除了标准的 Role-Based Access Control,就是基于角色的访问控制之外,我们还有大家非常喜欢用的 Replication ,就是镜像的复制,是解决了运维中很常见的一类移动镜像问题。传统来说,可能需要用一些脚本,一些软件去做这个事情,我们全部用一个可视化的图形界面去把它有序地管理起来,同时能在出错时自动去重试。有的世界级的银行他们也在用我们的方案,把镜像从一个大洲的数据中心,复制到其他大洲的数据中心里。 第三点,特别对中国用户来说,我们有很多本地化的输入。我们有微信群,那么有几百个用户在给我们提供反馈,所以对我们中国用户来说,可能第一时间可以得到很多适合他们使用需求的定制化功能。而且,我们项目原生支持中文的界面。在容器的项目里面,很少是能原生支持中文的,所以这也是我们广大中国用户非常喜欢 Harbor 的一个原因。

视频内容

问题3: 在运维环境中,镜像来源验证和镜像漏洞扫描为用户带来哪些价值?HA如何实现?涉及到技术上有哪些难点?

答:

有两个问题在镜像管理工作中是困扰很多企业的,第一个就是说镜像的真实可靠性,或者说镜像来源,因为大家现在知道很多时候你从Docker Hub或者别的地方抓过来的镜像,到底是谁产生的搞不清楚的,或者这个镜像里面有没有带什么漏洞、病毒也不知道,如果冒冒然去使用是个很危险的事情,所以就造成了需要去验证镜像可靠性的需求。

我们使用叫做Content Trust的功能(内容可信任)。主要的原理是,我们在发布镜像时做个签名,这个签名生成的摘要会存在一个 Notary Service 中。其他人去使用这个镜像的时候,先去获取这个摘要,然后再根据 Registry V2 协议 pull by content 的功能去获取镜像。如果是没有签过名的镜像 Registry 是拿不到的,通过这样一种机制,就可以实现这个Content Trust功能。 第二个是镜像扫描,有点像我们平常在电脑上进行病毒扫描,就把全盘的文件扫一遍,发现有没有被病毒感染过的或者有病毒存在的文件。那么在企业跑的镜像里边,这个扫描也是很需要的,就是我的镜像来源可能是不同的地方,那最终到底有没有一些漏洞。我怎么样能发现,需要有一个对镜像里面所有文件进行扫描的功能,然后发现和报警的机制。这部分功能叫做扫描镜像的 vulnerability 的scanning,我们在 Harbor 里集成了CoreOS 的 Clair,可以帮助我们去扫描Harbor里面放的这个镜像。扫描完之后,我们有个很详细的一个报告,会告诉我们这个镜像里面,有多少个Package,这些软件包有多少个是有问题的,严重程度是怎么样的。用户可以决定性地去使用,比如发现严重问题的,我就不允许这个镜像去下载了,如果是很轻微的,可以允许获取镜像。……

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亨利笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档