配置支持 Docker 的 OpenStack 服务

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/openstack-chef/+spec/docker-driver-configuration

Docker 驱动程序是 OpenStack Nova Compute 的一个虚拟机驱动程序。它是在 Havana 版本中引入的。Docker 是一个开源引擎,可以自动化应用程序的部署,使其成为高度可移植、自给自足的容器,这些容器独立于硬件、语言、框架、打包系统和托管提供商。

请参考 [OPENSTACK_DOCKER_DOCUMENTATION]

本次提出的变更将启用 nova-docker 驱动程序的部署和配置,Glance 仓库配置以及支持在 OpenStack 云中无缝管理 Docker 节点所需的任何配置。

问题描述

  • 目前,openstack-compute 不支持 nova-docker 驱动程序

  • 目前,openstack-image 不支持用于镜像的 Docker 容器格式,包括 docker 和 dockerref

  • [OPENSTACK_DOCKER_COOKBOOK_OLD] 是一个可用的选项,但它已经两年没有维护,并且嵌入了两年以前的驱动程序。

提议的变更

在 openstack-compute cookbook 中添加支持以配置 [NOVA_DOCKER_DRIVER]。当前的支持将是从 git 仓库下载 nova docker 驱动程序并进行配置。

同时更改 openstack-image 以支持 Docker 镜像的容器格式,包括 docker 和 dockerref

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发者影响

实现

负责人

主要负责人
其他贡献者

工作项

  • 在 openstack-compute 中添加新的属性

  • 更改 openstack-compute / nova.conf.erb 模板以包含 nova-docker 驱动程序

  • 在 openstack-compute 中添加一个新的 Docker 配置 recipe

  • 更改 compute.rb recipe 在 openstack-compute 中以包含基于配置的新 recipe

  • 添加单元测试。

  • 更改 openstack-image 并添加 attributes 中的新容器格式

依赖项

  • 为了配置 nova-docker 驱动程序 - 计算节点应该预先安装 Docker 运行时。用户可以选择使用 cookbook [CHEF_DOCKER]。如果上述 cookbook 不支持配置 compute 的操作系统,请使用可在 [DOCKER_RUNTIME_INSTALLATION] 处获得的文档。

  • 这依赖于 Nova Docker 驱动程序 [NOVA_DOCKER_DRIVER]。目前需要以 .zip 格式克隆上述源代码才能完成 nova 配置

测试

  • 为 recipe 添加单元测试。

  • 对于功能和 CI 集成测试,建议至少有一个具有 OpenStack 全功能部署的节点。

  • 为了将计算节点配置为 Docker 计算节点(在使用 openstack-chef-repo 进行测试时),请使用环境覆盖属性以 true,指示节点是 Docker 类型还是不是。

  • 在测试之前,将 Docker 运行时安装到所有计算节点。有关更多详细信息,请参阅依赖项。

文档影响

  • 更改 openstack-compute 中的 README.md。

可能的未来增强

更改 openstack-telemetry cookbook 以支持 Docker 计算的监控