Docker与Kubernetes容器虚拟化技术与应用
上QQ阅读APP看书,第一时间看更新

1.4.2 Kubernetes的功能

容器是打包和运行应用程序的方式。在生产环境中,需要管理运行应用程序的容器,并确保容器不会停机。例如,一个容器发生故障时,需要马上启动另一个容器替代上,这样一来就节省了修理故障的时间,也不会影响运行的服务。

这就是Kubernetes解决这些问题的方法。Kubernetes提供了一个可弹性运行分布式系统的框架,能满足扩展要求、故障转移、部署模式等。例如,Kubernetes可以轻松地管理系统的Canary部署。

Kubernetes的优势如下。

(1)服务发现和负载均衡。

Kubernetes可以使用DNS名称或自己的IP地址公开容器,如果一次性进入容器的流量数据庞大,那Kubernetes还可以更高效地负载均衡并分配适合网络流量,从而使部署变得稳定。

(2)存储编排。

Kubernetes允许自动挂载所选择的存储系统,如本地存储、公共云提供商等。

(3)自动部署和回滚。

可以使用Kubernetes描述已部署容器的所需状态,它可受控的速率将实际状态更改为期望状态。例如,可以自动化Kubernetes来为用户的部署创建新容器,删除现有容器并将它们的所有资源用于新容器。

(4)自动完成装箱计算。

Kubernetes允许用户指定每个容器所需的CPU和内存(RAM)。当容器指定了资源请求时,Kubernetes可以更好地决策出管理容器所需要的资源。

(5)自我修复。

Kubernetes能够重新启动失败的容器、替换容器、终止不响应用户定义的运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

(6)密钥与配置管理。

Kubernetes允许用户存储和管理敏感信息,如密码、OAuth令牌和ssh密钥。用户可以在不重建容器镜像的情况下部署、更新密钥和应用程序配置,无须在堆栈配置中暴露密钥。