Sahara 中的安全组管理¶
https://blueprints.launchpad.net/sahara/+spec/cluster-secgroups
对于生产环境来说,强制使用所有端口开放的默认安全组是不可接受的。Sahara 需要更灵活的方式来处理安全组。
问题描述¶
目前 Sahara 不管理安全组,而是为实例配置使用默认安全组。
提议的变更¶
解决方案将由几个部分组成
允许用户为每个节点组指定安全组列表。
添加自动安全组创建的支持。Sahara 知道创建具有所需端口开放的安全组所需的一切。在第一次迭代中,这将是为所有网络开放所有暴露端口的安全组。
替代方案¶
Sahara 可以通过多种方式创建安全组。理想情况下,Sahara 应该支持不同网络之间的分离,以及配置允许和禁止的内容。
数据模型影响¶
需要在每个节点组中保存安全组列表。
一个标志,指示其中一个安全组是由 Sahara 创建的
需要打开的端口列表。需要将其存储在某个地方,以便将其提供给配置引擎。
REST API 影响¶
创建集群、节点组、集群模板和节点组模板的请求将被扩展,以接收要使用的安全组。还将添加自动安全组创建的选项。
其他最终用户影响¶
无
部署者影响¶
在某些情况下,将不需要配置默认安全组。
开发者影响¶
插件 SPI 将扩展为包含一个方法,以返回节点组所需的端口。
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
在所有创建屏幕中选择安全组的新字段。
实现¶
负责人¶
主要负责人:Andrew Lazarev (alazarev)
工作项¶
允许用户为节点组指定安全组
实现 Sahara 创建安全组的能力
这两个项目都需要以下步骤
在两个引擎中实现(heat 和 direct engine)
针对 nova network 和 neutron 进行测试
Update documentation
更新 UI
创建集成测试
依赖项¶
无
测试¶
该功能需要通过集成测试覆盖引擎和 UI。
文档影响¶
该功能需要进行文档记录。
参考资料¶
无