这几天一直在搭建支持外网访问的devstack云主机实例环境,但总是遇到各种各样的细节问题,折腾了一个星期左右,总算搞定。网上关于搭建这种环境的教程很多,但大多细节讲解不够清晰,导致容易掉进坑里,半天爬不出来。因此这里主要总结一下搭建过程中需要注意的关键点,以减少搭建过程中遇到的各种问题,提高搭建成功的概率。
这些关键点总结起来主要包括如下几点:1)安装前的Neutron配置,一旦Neutron配置不正确,就会遇到各种各样的问题,后面的工作都成为无用功;2)安装后的网络创建,这里主要涉及到网络、子网、路由等的创建和配置;3)云主机实例的创建,包括云主机镜像的用户名和密码,云主机的卷大小,云主机的VNC控制台操作等;4)安全组规则,这是最容易被忽视但又最可能导致云主机实例与外网之间无法通信的罪魁祸首。
1. 安装前的Neutron配置
devstack的安装配置都在文件local.conf中制定,对应到neutron主要包括两个点:1)nuetron相关的service都需要正确配置,之前我这边就是因为照抄的模板里少了q-l3服务导致搭建的环境里少了br-ex网桥,就算后面所有的网络创建和云主机创建都正确,也始终无法进行外网访问,后来查看网络配置才发现的这个问题。2)nuetron相关的option选项都需要正确配置,这里主要是网关、网桥、网卡和floating ip等的配置。具体情况直接参看下面的截图: