实现 Magnum 资源¶
https://blueprints.launchpad.net/heat/+spec/magnum-resources
此蓝图建议添加对 Magnum 资源的支持。
问题描述¶
Magnum 是一种容器管理服务,目前 Heat 不支持。将向 Heat 添加资源以支持
Baymodel,一个对象存储模板信息,描述 bay,用于一致地创建新的 bay。
Bay,一个节点对象的集合,用于调度工作。
Pod,一个在单个物理或虚拟机上运行的容器集合。
Service,一种抽象,定义了一组逻辑 Pod 以及访问它们的方式策略。
ReplicationController,一种用于管理 POD 组的抽象,以确保运行指定数量的 POD。
Node,一个裸机或虚拟机,用于执行工作
Container,一个 docker 容器
提议的变更¶
Magnum 资源未集成,因此将添加到 contrib 目录。
将添加 Magnum 客户端插件用于与 Magnum 通信,Magnum 有其自身的要求。将添加以下资源
添加 OS::Magnum::BayModel 资源
resources:
model:
type: OS::Magnum::BayModel
properties:
name: String
image: String
keypair: String
external_network: String
dns_nameserver: String
flavor: String
docker_volume_size: Int
network_driver: String
http_proxy: String
https_proxy: String
no_proxy: String
labels: String
insecure: Boolean
添加 OS::Magnum::Bay 资源
resources:
bay:
type: OS::Magnum::Bay
properties:
name: String
baymodel: { get_resource: model }
node_count: Int
discovery_url: String
bay_create_timeout: Int
添加 OS::Magnum::Pod 资源
resources:
pod:
type: OS::Magnum::Pod
properties:
bay: { get_resource: bay }
manifest: SOFTWARE_CONFIG
manifest_url: String
添加 OS::Magnum::Service 资源
resources:
service:
type: OS::Magnum::Service
properties:
bay: { get_resource: bay }
manifest: SOFTWARE_CONFIG
manifest_url: String
添加 OS::Magnum::ReplicationController 资源
resources:
rc:
type: OS::Magnum::ReplicationController
properties:
bay: { get_resource: bay }
manifest: SOFTWARE_CONFIG
manifest_url: String
添加 OS::Magnum::Node 资源
resources:
rc:
type: OS::Magnum::Node
properties:
name: String
type: String
image: String
添加 OS::Magnum::Container 资源
resources:
rc:
type: OS::Magnum::Node
properties:
name: String
type: String
command: String
备选方案¶
无
实现¶
负责人¶
- 主要负责人
里程碑¶
- 完成目标里程碑
liberty-1
工作项¶
添加 Heat 的 Magnum 客户端插件
添加 Magnum BayModel 和 Bay 资源
添加 Magnum Pod、Service 和 ReplicationController 资源
添加 Magnum Node 和 Container 资源
依赖项¶
无