配置支持 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 计算的监控