@levinzhang
2018-03-17T22:33:24.000000Z
字数 1725
阅读 561
by
Ian Crosby认为Kubernetes已经接近主流采用阶段,因为它在企业级领域所面临的挑战(即高度安全的环境、支持Windows、对有状态负载更好的支持以及与遗留软件和混合云的集成)正在被社区所解决。正如Crosby所说,“问题不在于Kubernetes是否能够跨过鸿沟,而在于何时跨过鸿沟”。
Ian Crosby是Container Solutions的高级工程师,在本年的QCon伦敦会议上,他尝试回答了Kubernetes是否已经跨越了鸿沟,从早期采用者阶段(early adopters)步入了早期大众(early majority)阶段。
基于现实中实际参与的来自多个组织的样例,他认为Kubernetes确实已经接近主流采用阶段了,因为企业级领域所面临的遗留挑战(即高度安全的环境、支持Windows、对有状态负载更好的支持以及与遗留软件和混合云的集成)正在被社区所解决。正如Crosby所说,“问题不在于Kubernetes是否能够跨过鸿沟,而在于何时跨过鸿沟”。
理想的使用场景就像Fashiontrade,这是一个100%基于云且微服务驱动的系统,在这里Kubernetes提供了多项收益,包括以较低的成本减少运维的工作负荷(通过原生提供容错、自动扩展和服务发现功能来实现),Crosby随着时间的推移意识到,这样的场景只是例外并不是常态。
在其他的场景中,我们最初可能会觉得某个系统非常适合Kubernetes,但是特定的问题会因为平台当前的成熟度而浮现,这会给技术的采用带来风险。Crosby引用了student.com的例子,这是一个完全基于云的系统,为了支持其目标市场,该系统运行在两个不同的AWS region上,即新加坡和北京。起初,这看上去似乎就是在每个region运行一个集群,然后将这两个集群使用联邦(federation)的方式联合起来就可以了。但是,在中国无法访问来自Google的传入流量,所以在AWS北京region中安装Kubernetes就是一个挑战了,因为有些组件甚至无法下载。
要修正这个安装问题需要搭建镜像,以便于下载组件,并在北京region中通过Terraform和Ansible脚本来自定义Kubernetes部署。另外,社区围绕Kubernetes最流行安装工具之一kops添加了一个readme文件,介绍如何在AWS China进行安装,这也凸显了在企业中采用开源软件具有一定的先瞻性是很重要的。
跨多个亚洲云region部署和运行Kubernetes(来自:Ian Crosby)
第三个也是最具有挑战性的现实样例是Ericsson迁移至Kubernetes原生模型,它们要交付一个直接由客户端自己运行的应用。借助Helm charts(这是一个开源的包管理解决方案,能够通过一个简单的命令行安装和更新Kubernetes原生应用)的帮助,Ericsson能够打包他们的软件,并让客户端使用一个命令行毫无痛苦地进行升级。再加上Kubernetes原生的滚动部署能够让客户端实现零停机和透明升级。这大幅减少了客户端运行旧版本软件的数量(并且减少了对旧版本的支持),这也给他们带来了从Kubernetes的运维特性中受益的机会。
按照Crosby的说法,这是一个交付企业级软件的新模式,借助该模式能够为客户端提供所有权并且能够快速升级,这是Kubernetes带来潜在改变的实际例证。
如果是完全从头采用Kubernetes的话,作为开始,Crosby推荐首先从CI/CD管道中使用容器,然后在开发和测试环境中,将Kubernetes集群作为底层的基础设施,并将Kubernetes用到一个非关键性的生产级产品中,在这个过程中增加对它的熟悉程度。每个人都准备就绪之后,特定的挑战也都已经得以解决,再将其推进到更重要的系统中,在生产环境中使用也就水到渠成了。
相关演讲视频将会在未来几个月中,发布到InfoQ网站上。
查看英文原文:Has Kubernetes Crossed the Chasm? Ian Crosby Shares His Thoughts at QCon