库伯内斯解决了哪些问题?

2020-05-17 06:52:51

本系列面向的是新接触Kubernetes和GKE的工程师。它提供了Kubernetes的基本概述、定义和在GKE中构建Kubernetes集群的快速入门,以及构建您的第一个多层WebApp的研讨会。如果您正在寻找更深入的Kubernetes最佳实践和帮助,请联系。

在我们开始构建您的第一个GKE集群之前,了解一些关于Kubernetes的事情是很重要的。

Kubernetes(K8S)是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。消息来源:Kubernetes.io。

2005年,谷歌推出了博格系统。它一开始只是一个只有两三个人参与的小项目。这是一个大规模的集群管理和资源调度系统,它引入了:

过度承诺的装箱-如何让多个系统和进程在单个节点上不受干扰地运行。

进程级资源隔离-如果您在单个节点上调度容器,如何确保进程需求不会干扰另一个节点的进程需求。

库伯内斯把这一切都变成了陈述性的。这意味着您可以获取您需要调度的工作负载,在YAML文件中定义它们,然后将它们提交给API,API会告诉您它是否能够调度工作。

2014年,谷歌引入Kubernetes作为Borg系统的开源版本。2015年,谷歌与Linux基金会联合成立了云原生计算基金会(CNCF)。同年,第一次KubeCon活动举行,CNCF开始了Kubernetes的季度发布周期。

当您使用Kubernetes这样的容器编排程序时,您可以在许多不同的时间跨多台机器调度节点或进程。这使您可以丢失一个节点或进程,而不会看到服务的正常运行时间中断。

如果您是系统操作员,开发人员希望您给他们一天多次部署代码的机会。Kubernetes允许您在不停机的情况下实现滚动更新的智能流程和方案。

您可以在单个节点上调度多个进程,而不是让您全天候付费在单个云节点上运行单个进程。您的云节点还可以识别何时无法调度新进程从而需要新资源,或者何时资源空闲并需要降速。库伯内斯提供了切换这种弹性的简单方法。

Kubernetes提供了可靠性。如果容器或整个节点宕机,资源或单个进程将由Kubernetes在健康节点上重新调度。

Kubernetes允许您启动新节点并自动将它们添加到集群中。如果单个服务是资源受限的,Kubernetes会检测到这一点,并带来新的实例来处理额外的负载。