谈及容器技术,毫不夸张地说,2017 年是“Kubernetes 之年”。Kubernetes 自 2014 年推出以来,就一直保持稳步增长,但在 2017 年,增长速度远超大家的想象。
1、以我自己的公司 Rancher Labs 来说,我们创建的容器管理平台 Rancher 在过去支持多种容器编排框架,包括 Swarm、Mesos 和 Kubernetes。为了满足市场和客户的需求,Rancher 2.0 版本 100%的放在 Kubernetes 上。我们并不孤单,甚至包括 Docker 和 Mesosphere 在内的 竞争框架的开发商也宣布支持 Kubernetes。
2 、Kubernetes 的安装和操作变得更容易了。实际上,在大多数情况下,您不再需要安装和操作 Kubernetes。所有主要云提供商,包括谷歌、微软 Azure、AWS 和中国领先的云服务提供商,如华为、阿里巴巴、腾讯,都推出了“Kubernetes 即服务”。这不仅让使用谷歌 GKE 或华为 CCE 的云 Kubernetes 更加简单,同时,也更加便宜。
云服务提供商通常不对运行 Kubernetes 主机所需的资源进行收费。因为要运行 Kubernetes API 服务器和 etcd 数据库至少需要 3 个节点,所以云“Kubernetes 即服务”可以节省大量的成本。对于那些仍然想在自己的数据中心中运行 Kubernetes 的用户,VMware 推出了 Pivotal Container Service (PKS.)。事实上,有超过 40 家供应商提供了 CNCF 认证的 Kubernetes 发行版本,运行和操作 Kubernetes 比以往任何时候都要容易。
3、Kubernetes 快速增长的一个最重要标志,就是 大量用户开始在 Kubernetes 上运行他们的关键任务生产工作负载。由于 Rancher 从最开始就支持多个编排引擎,我们对 Kubernetes 的增长更加敏感。例如,我们一个美国财富 50 强金融服务公司客户,他们每天都在 Kubernetes 集群上运行他们的应用程序,处理数十亿美元的事务。
另外一个我们观察到的重要趋势是,用户在生产环境中运行 Kubernetes 时 越来越关心安全性。回到 2016 年,我们从客户那里听到的最常见的问题都是围绕着 CI/CD。那时,Kubernetes 主要用于开发和测试环境。现在,客户最常见的特性要求是单点登录、集中访问控制、应用和服务之间的隔离、基础设施强化、secrets 和凭证管理。我们相信,提供单独一层来定义和执行安全政策将是 Kubernetes 最强的卖点之一。我们预测,安全将继续成为 2018 年最热门的发展领域之一。
由于云提供商和 VMware 都支持 Kubernetes 服务,Kubernetes 已经成为新的基础设施标准。这对 IT 行业有着巨大的影响。众所周知,计算工作将转移到 IaaS 云上,IaaS 是建立在虚拟机上的,而虚拟机没有标准的虚拟机镜像格式或标准的虚拟机集群管理器。因此,为某一种云构建的应用程序很难轻松地部署到其它云上。Kubernetes 的出现成为这个游戏规则的改变者。构建 Kubernetes 的应用程序可以部署在任何兼容 Kubernetes 服务上,而不用考虑底层基础设施。在 Rancher 客户中,我们已经看到了多云部署被广泛采用。对于 Kubernetes 来说,多云计算很简单。DevOps 团队也大受裨益,因为整个系统的灵活性、可靠性以及成本都大为提升。
我对 Kubernetes 将在 2018 年继续增长感到非常兴奋。以下是我们应该关注的一些具体领域:
1、在最近的 KubeCon 上,最热门的话题是 Service Mesh。Linkerd、Envoy、Istio 等等都在 2017 年开始流行。尽管这些技术的应用还处于初级阶段,但潜力是巨大的。人们通常认为 service mesh 是一个微服务框架。但是,我认为,service mesh 将带来的好处远远超出了任何一个微服务框架。service mesh 可以成为所有分布式应用程序的共同基础。它为应用程序开发人员提供了大量的支持,用于通信、监视和管理组成应用程序的各种组件。这些组件可能是也可能不是微服务。它们甚至不需要用容器来建造。即使现在没有多少人使用 service mesh,但是,我们相信它将在 2018 年快速流行起来。我们和容器行业的大多数人一样,都想参与其中。现在,我们正在集中精力将 service mesh 技术集成到我们的产品中。
2、“云原生应用(cloud native application)”这个术语已经流行了好几年。它的意思是开发出能在类似 AWS 这样的云上运行的应用,而不是在像 vSphere 或物理机集群那样的静态环境中运行。为 Kubernetes 开发的应用程序被定义为“cloud-native ”,因为现在所有的云都可以使用 Kubernetes。然而,我相信,世界已经准备好从 cloud-native 转为 Kubernetes-native。我知道有许多组织专门开发用于运行 Kubernetes 的应用程序。虽然这些应用程序并不仅仅使用 Kubernetes 作为部署平台,但是他们将数据保存在 Kubernetes 自己的 etcd 数据库中;他们使用 Kubernetes 用户资源定义(CRD)作为数据访问对象;他们在 Kubernetes 控制器中编码业务逻辑;他们使用 Kubelets 来管理分布式集群;他们在 Kubernetes API 服务器上构建自己的 API 层;他们使用“kubectl”作为他们自己的 CLI。 Kubernetes-native 应用构建简单,并且可以在任何地方运行,同时还支持大规模扩展。2018 年,我们一定会看到更多的 Kubernetes-native 应用出现。
3、现在大多数人使用 Kubernetes 来部署他们自己的应用程序。没有多少组织愿意将他们的应用程序包交付到 YAML files 或 Helm charts 中。我相信这种情况即将改变。已经有很多现代软件比如像 Tensorflow 这样的 AI 框架都可以作为 Docker 容器获取。在 Kubernetes 集群中很容易部署这些容器。几个星期前,Apache Spark 项目增加对 Kubernetes 的支持,将 Kubernetes 作为调度器。除了 Mesos 和 YARN 外,Kubernetes 现在是一个很棒的大数据平台。我们预测,未来所有服务端软件包都将作为容器分发,并使用 Kubernetes 作为集群管理器。2018 年,即时可用的****YAML files 或 Helm charts 将会有大幅度的增长及应用。
回头来看,2017 年 Kubernetes 的增长远远超过了我们所有人在 2016 年底的预期。虽然我们预料到 AWS 能够支持 Kubernetes,但我们并没有预想到 service mesh 和 Kubernetes-native 也会受到极大的关注。相信 2018 年会继续给我们带来许多意想不到的技术发展。我迫不及待地想知道!
作者简介
梁胜博士,现任 Rancher Labs Inc. 联合创始人及 CEO。梁胜博士是 Java 语言 J2SE 平台核心组件 JNI 的作者,JVM(Java 虚拟机)的领导设计与开发者。2008 年创建 cloud.com,被誉为 CloudStack 之父。2011 年 cloud.com 被 Citrix 收购,梁胜博士出任 Citrix 云平台 CTO,也是 Citrix 首位华人 CTO。
评论