在6月29日VMware举行的Kubernetes and VMware Tanzu线上媒体沟通会上,我有机会采访到了3位Kubernetes 创始人中的2位:Craig McLuckie和Joe Beda(另外1位创始人是Brendan Burns)。
Kubernetes与7的渊源
Kubernetes最初源于谷歌内部的Borg(估计Google里面的IT码农很喜欢《Star Trek》这样的高科技电影,因此用Borg命名了Google自己的资源管理系统。),提供了面向容器集群的部署和管理系统。
2014年3月,谷歌开始开发Kubernetes项目(当时的项目名称并非Kubernetes),原本是希望将容器化编排管理能力带到大众手中。这是一个很大的目标,McLuckie,Beda和队友Brendan Burns相信实现这一目标的唯一途径就是将技术开源,并围绕其建立一个社区。事实证明他们的这个决定非常正确,但在当时没人能够100%确定。
2014年6月,谷歌云计算专家Eric Brewer在旧金山的发布会为这款新的开源工具揭牌,并宣布其命名为Kubernetes,采访中Craig McLuckie透露内部曾经用Project 7来命名,但因为法务的关系,没有最终采用。“数字7对于Kubernetes来说有着特殊的意义,今年恰逢Kubernetes发布7周年,因此格外亲切。” Craig McLuckie说。
Craig McLuckie和Joe Beda后来离开谷歌,于2016年底创办了Heptio,2018年底VMware拟收购Heptio,并于2019年完成收购,这也使得我们有机会采访到2位创始人。Craig McLuckie现任VMware公司应用现代化业务部门研发副总裁,Joe Beda担任VMware公司首席工程师。
VMware Tanzu,还是容器?
都说“屁股决定脑袋”,2位创始人也不例外,演讲重点是在Kubernetes和VMware vSphere的结合,也就是我们相对熟悉的VMware Tanzu。
以VMware Tanzu为核心,能够帮助那些熟悉和使用VMware vSphere虚拟化技术的用户,快速构建容器为核心的应用软件开发,同时简化运维和管理,如使用Tanzu Mission Control(Tanzu任务控制)和Tanzu Kubernetes Grid这样的工具。
以前我们也介绍过VMware在vSphere核心层内部集成了Kubernetes,也就是说,屏蔽了底层的虚拟机和容器的集成和管理,让应用变得简单。
对于那些已经使用虚拟化应用的存量用户而言,无需更多考虑是虚拟化,还是容器,让问题变得简单。
但也许受生来就是云原生用户的影响,他们没有虚拟化的包袱,很多应用构建在容器上,因此,虚拟化还是容器?这个就是经常被问到的问题。这次,2位创始人也被问到类似的问题,但我对此并没有多少兴趣。在我看来,没有必要将虚拟化和容器对立起来看待,VMware Tanzu已经能够很好兼顾二者,如果有虚拟化应用历史的包袱,Tanzu就是非常好的方案,对吗?
我更加感兴趣的是,对于传统行业/企业用户来说,他们没有专业的技术人员队伍,很难依靠自力更生解决云原生应用的问题,不知道2位Kubernetes的创始人有什么建议。
创始人指出:如今,云原生应用商业化产品越来越成熟,这为行业/企业用户转型云原生应用创造了条件,但这很难成为主要的应用模式,作为主流,还是需要行业/企业用户转变思想和文化。构建DevOps一体应用软件开发模式,如今,以开源社区为依托,技术创新日新月异,惟有借助新的DevOps一体的开发模式,才能够把技术和创新应用想结合。
“必须下决心转变。”这是2位创始人传递出来的主要信息。
换句话说,2位创始人也没有速成的方法。求人不如求自己。云原生应用就是必须跨越的一道槛,对吗?
Harbor,中国原创
Harbor是本次媒体沟通会的另外一个主题,Harbor是VMware中国研发中心的原创项目,于2014年内部立项和使用,该项目于 2016 年3月开源。 2018 年 7 月VMware捐赠Harbor给云原生计算基金会 (CNCF),使Harbor成为社区共同维护的开源项目,也是首个源自中国的CNCF项目。
Harbor 是个开源制品(artifact)仓库,功能主要包括四大类:多用户的管控(基于角色访问控制和项目隔离)、镜像管理策略(存储配额、制品保留、漏洞扫描、来源签名、不可变制品、垃圾回收等)、安全与合规(身份认证、扫描和CVE例外规则等)和互操作性(Webhook、内容远程复制、可插拔扫描器、REST API、机器人账号等)。
在加入CNCF之后,Harbor融合到全球的云原生社区中,众多的合作伙伴、用户和开发者都参与了Harbor项目的贡献,数以千计的用户在生产系统中部署和使用Harbor,Harbor每个月的下载量超过3万次。
CNCF项目分为Sandbox、Incubating和Graduation三个阶段。根据成熟度级别,每个CNCF项目会逐步走过它的早期Sandbox以及孵化阶段从而毕业。被CNCF接受并成为Sandbox项目需要至少2个TOC的sponsor的支持才能够进入到正式的孵化阶段。而到了孵化阶段的项目需要满足所有Sandbox的需求,并且必须提供至少三个独立的终端用户成功地使用在生产环境中的资料信息,在质量和范围方面都能够得到证明才能够正式毕业。因此,加入CNCF的项目很多,毕业项目很少,只有类似Kubernetes、 Prometheus、Envoy、CoreDNS等几个项目完全毕业。
2020年6月,Harbor成为CNCF第 11 个毕业项目,同时成为首个中国原创的CNCF毕业项目。从孵化(incubation)级别晋升为毕业(graduation)级别的过程中,Harbor 展现了其使用率的不断提高、开放的治理流程、完整功能成熟度以及对社区持续性和包容性的坚定承诺。
据CNCF Harbor开源项目创建人VMware中国研发技术总监张海宁透露:如今有很多生态合作伙伴以及用户都在使用Harbor来构建属自己的容器镜像库,也可以使用Harbor对外提供运营和服务,但是VMware并没有对外运营服务的计划。