介绍

已完成

为简化管理过程,常见的方法是使用容器管理平台(如 Kubernetes)。 假设你就职于一家无人机管理公司。 贵公司为全球各地的客户提供无人机跟踪解决方案。

Diagram of the high-level architecture that describes the drone-tracking solution.

该解决方案作为微服务生成并部署,包含多个主要应用程序:

  • Web 前端:显示与跟踪的无人机相关的地图和信息。
  • 缓存服务:存储网站上显示的频繁被请求的信息。
  • RESTful API:由跟踪的无人机用于发送自身的状态数据(例如 GPS 位置和电池电量水平)。
  • 队列:保存由 RESTful API 收集的未处理数据。
  • 数据处理服务:从队列中提取和处理数据。
  • NoSQL 数据库:存储从网站和数据处理服务中捕获的已处理的跟踪数据和用户信息。

开发基于微服务体系结构的软件时,容器是一种很好的选择。 它们高效地利用硬件;提供安全性功能,以便在同一主机上同时运行多个实例,而这些实例之间不会相互影响;还可以通过部署更多实例的方式横向扩展服务。

Diagram that shows three benefits of containerization; efficiency, isolation, and scalability.

标准容器管理运行时专注于管理各个容器。 如果要缩放多个容器同时运行的复杂系统,存在一定的难度。 请考虑以下方面:

  • 配置和维护负载均衡
  • 网络连接
  • 协调部署过程

你要使用容器化的实例来快速部署到新的客户区域,并按需缩放资源来满足客户需求。 为了简化这些复杂的容器化应用程序的开发、部署和管理,你使用容器业务流程协调平台,例如 Kubernetes。

学习目标

本模块介绍了以下内容:

  • Kubernetes 如何支持容器业务流程协调。
  • 控制平面与节点之间的差异。
  • 评估 Kubernetes 是否是适合给定工作负载的业务流程协调平台。

先决条件

  • 微服务体系结构的基本概念
  • 基本了解 Docker 容器的工作原理
  • 大致了解如何使用命令行接口 (CLI) 安装软件