devstack部署的opensatck无法自动给虚拟机IP,发现了microstack。安装如下:

sudo snap install microstack --devmode --beta
sudo microstack init --auto --control

如果你是安装在局域网内的另一台机器B上,添加A的本地路由就可以从A访问到microstack。

# 本机(A):10.0.23.131
# 安装OP(B):10.0.23.11
# OP的网络:10.20.20.0
sudo ip route add 10.20.20.0/24 via 10.0.23.11 dev enp2s0

不要照抄,记得换IP。获取登录密码,用户名就是admin

sudo snap get microstack config.credentials.keystone-password

此外,microstack走的是SSL,PYTHON SDK需要在clouds.yaml里面添加verify: False,就可以使用API访问了。

clouds:
  openstack:
    auth:
      auth_url: https://10.0.23.11:5000/v3/
      username: "admin"
      project_id: c9bdb1c196054288b1f2ea9a477ee82a
      project_name: "admin"
      user_domain_name: "Default"
      password: "fU6360LA1urmzStTTzjly8WVAxQtcTaW"
    region_name: "microstack"
    interface: "public"
    identity_api_version: 3
    verify: False

也请不要照抄,很多内容必须和你的环境一样才行。
最后创建虚拟机并且绑定浮动IP后,需要从10.0.0.131 ping通microstack上的虚拟机,还需要开启10.0.23.11的路由转发功能。

在/etc/sysctl.conf中取消 net.ipv4.ip_forward=1注释,运行sudo sysctl -p使设置生效
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐