IPAM背景
原生OpenStacck的ip地址管理能力很弱,简单的通过子网分配ip池,这就带来几个问题:
- ip池化管理能力不够灵活,导致分配ip地址碎片化,不能统一管理
- ip地址分配算法简单,按序分配。
- 大规模环境部署情况下,分配和管理会比较耗时,费力
- 很难对接第三方异构的ip管理插件。
基于以上背景,neutron引申出了IPAM框架,可以
- 动态的ip池化定义,灵活,租户可以共享一个大的ip地址池
- 插件化机制使其对接第三方IPAM子系统成为可能
- 可以集中化的管理ip资源,从云中独立出来,便于运维
IPAM设计
- subnetpool
- 一个大的子网池,从中可以分配出子网
- 可以使租户独占,也可以租户共享
- 对于共享的子网池可以有配额管理
举个例子:203.0.113.0/24可以分配出/25,/26等的子网。当从一个subnetpool里分配一个subnet有两种方式:可以指定CIDR或者指定前缀长度prefixlen或者默认长度。
IPAM的设计架构如下图:
用户可以基于这个架构去实现自己的IPAM drivers。
子网申请: