介绍
为简化管理过程,常见的方法是使用容器管理平台(如 Kubernetes)。 假设你就职于一家无人机管理公司。 贵公司为全球各地的客户提供无人机跟踪解决方案。
该解决方案作为微服务生成并部署,包含多个主要应用程序:
- Web 前端:显示与跟踪的无人机相关的地图和信息。
- 缓存服务:存储网站上显示的频繁被请求的信息。
- RESTful API:由跟踪的无人机用于发送自身的状态数据(例如 GPS 位置和电池电量水平)。
- 队列:保存由 RESTful API 收集的未处理数据。
- 数据处理服务:从队列中提取和处理数据。
- NoSQL 数据库:存储从网站和数据处理服务中捕获的已处理的跟踪数据和用户信息。
开发基于微服务体系结构的软件时,容器是一种很好的选择。 它们高效地利用硬件;提供安全性功能,以便在同一主机上同时运行多个实例,而这些实例之间不会相互影响;还可以通过部署更多实例的方式横向扩展服务。
标准容器管理运行时专注于管理各个容器。 如果要缩放多个容器同时运行的复杂系统,存在一定的难度。 请考虑以下方面:
- 配置和维护负载均衡
- 网络连接
- 协调部署过程
你要使用容器化的实例来快速部署到新的客户区域,并按需缩放资源来满足客户需求。 为了简化这些复杂的容器化应用程序的开发、部署和管理,你使用容器业务流程协调平台,例如 Kubernetes。
学习目标
本模块介绍了以下内容:
- Kubernetes 如何支持容器业务流程协调。
- 控制平面与节点之间的差异。
- 评估 Kubernetes 是否是适合给定工作负载的业务流程协调平台。
先决条件
- 微服务体系结构的基本概念
- 基本了解 Docker 容器的工作原理
- 大致了解如何使用命令行接口 (CLI) 安装软件