Kubernetes用于微服务中的可扩展性和高可用性

原文地址:https://dzone.com/articles/kubernetes-for-scalability-and-high-availability

作者: Al Tsang

了解Kubernetes如何与微服务和无服务器协同工作,以提高应用程序的可伸缩性和可用性。

企业应用程序必须预先设计可伸缩性和替换性。这对应用程序架构和应用程序基础架构都有重要影响。应用程序架构正在从无法管理的单片或三层模式演变为互连的微服务。

Kubernetes简述

Kubernetes是容器化应用程序的部署和流程框架(orchestration framework)。给定一堆计算资源,Kubernetes将资源分配给容器,并有效地利用资源进行复制,扩展,故障转移和其他管理任务,保证企业应用程序可靠运行。

Kubernetes的部署单位是“pod”。A由少量容器组成,这些容器作为一个单元部署和缩放在一起。集群由节点组成,节点是可以加入或离开集群的计算资源。可以使用部署规范将Pod部署到正在运行的集群上。在其他属性中,部署规范包括在任何时间点应该运行的pod的副本数量方面的集群状态。运行时始终保持所需副本数量,即使一个或多个pod崩溃也是如此。其次,部署规范可用于在指定的pod上运行滚动升级。

让我们分解一下:

Kubernetes用于微服务中的可扩展性和高可用性

Kubernetes,微服务和无服务器如何协同工作

  1. 通过服务进行组件化
  2. 智能终端和“dumb pipes”

Kubernetes具有独特的优势,可以成为微服务的首选部署平台。可以独立开发,构建,测试,部署和扩展基于微服务的应用程序的“组件”。
Kubernetes使用容器和容器使应用程序组件可以移植并轻松集成到更大的应用程序中。

Kubernetes用于微服务中的可扩展性和高可用性

微服务组件–事件驱动或其他方式,必须公开接口让其他组件或外部世界以访问其服务。这是必须仔细定义API的地方,并且必须支持用于设置和管理安全API端点的基础结构。LunchBadger将微服务开发平台 - 同步和事件驱动(无服务器) - 与API管理框架结合在一起,提供端到端的开发和部署支持。

在接下来的几篇文章中,我们将介绍实战示例,指南和演示方法,以便您可以在Kubernetes中部署服务,理解并创建Kubernetes部署规范,了解并创建Kubernetes服务规范或者只是关于Kubernetes的所有内容。