容器化应用的集群无关编排
1. TOSCA 规范概述
研究界一直专注于使用标准化语言来指定云应用的拓扑和管理计划。TOSCA 是 OASIS 设计的标准,用于实现云应用及其相关 IT 服务的可移植性。它允许以模块化和可移植的方式描述多层应用及其生命周期管理。
1.1 TOSCA 服务模板
TOSCA 规范将云应用的结构描述为服务模板,该模板由拓扑模板和构建该模板所需的类型组成。拓扑模板是一个有向图,节点(节点模板)表示应用组件,边(关系模板)表示组件之间的关系。每个节点还可以包含组件的需求、管理操作、属性、功能、软件工件和应用的策略等信息。
1.2 TOSCA 处理方式
TOSCA 支持两种不同风格的应用部署和管理:
- 命令式处理 :所有需要的管理逻辑包含在云服务存档(CSAR)中,管理计划通常使用工作流语言(如 BPMN 或 BPEL)实现。
- 声明式处理 :将管理逻辑从计划转移到运行时,TOSCA 运行时引擎通过解释应用拓扑模板自动推断相应的逻辑。这需要基于明确定义的节点类型和关系类型精确定义节点和关系的语义。
1.3 TOSCA 简单配置文件
TOSCA 简单配置文件是 TOSCA 规范的子集在 YAML 语言中的同构呈现。它定义了一些用于操作拓扑的规范性工作流,如部署、取消部署、扩展工作流和自动修复工作流。对于复杂用例,仍然可以使用命令式工作流,但它们的可重用性较低,因为它们是为特定拓扑定义的,而不是基于拓扑内容动态生成的。
以下是一个 TOSCA 示例模板(YA