注意到核心模块里包含了初级用户平常比较少用的 Heat 服务,而比较常用的卷存储服务 Cinder 却没有作为核心模块包含在内。如果需要安装 Cinder,需要为其指定一个 backend,不同的存储方式可能还有其它额外的配置条件,这里先保持默认不安装。
同时注意,即使是 All-In-One 场景,默认也是启用了 HAProxy 和浮动 IP,也就是需要安装:
HAProxy
Keepalived
启用 HAProxy 不需要什么额外操作,唯一需要的就是多占用一个 IP 地址。启用浮动 IP 可以使得后续控制节点的横向扩展更简单。因此,除非确定就是一直作为单节点环境使用,否则推荐保留默认配置。
值得注意的是,在某些云环境下(比如 OpenStack),这个浮动地址可能会面临安全组的问题,需要一些额外的配置。后面有机会再详细说明。
命令三连:prechecks、deploy、post-deploy使用用户名 kolla,密码 kollapass 登录系统,并切换到 root 用户:
$ sudo -s # cd /root下面的所有操作都使用 root 用户执行,全程只需要执行三个命令:
下面每个命令都是执行相应的 ansible playbook,所以屏幕会有大量打印。
安装前的环境检测,检查是否必要条件都已经满足
# kolla-ansible prechecks开始安装,视机器性能和选择安装模块数量,20分钟到40分钟不等,耐心等待即可
# kolla-ansible deploy安装后的一点点收尾工作
# kolla-ansible post-deploy上面的命令执行完成后,会在 /etc/kolla 目录下生成 admin-openrc.sh 文件,其中包含了登录所需要的用户名和密码信息。
使用 openstack 命令以前的 OpenStack 版本每个模块都提供自己的客户端命令,例如 nova, glance等,现在基本都统一使用 openstack 命令。以前的命令有的还能用,比如 nova,有的已经不能用了,比如 keystone
要使用 openstack 命令,必须先要安装各模块的客户端包。而我们的宿主机系统里面只安装了 Docker 和 Ansible。Kolla 构建的 docker 镜像中,已经在 openstack-base 这个基础镜像中安装了所有的客户端包,这意味着:
我们完全没有必要在宿主机单独安装客户端
进入任意一个 OpenStack 服务的容器里,都可以使用客户端
但是,每次手动敲命令进入容器里毕竟不够方便,所以我在镜像中内置了一个 bash 脚本,取名就叫 openstack,其中的内容是启动一个容器,使用方法和原本 openstack 命令一致:
# source /etc/kolla/admin-openrc.sh <--仍然需要先导入环境变量 # openstack <-- 直接敲命令 (openstack) 登录 horizon因为随机生成的 admin 用户密码很长,VirtualBox 的控制台不支持复制,所以这时候你最好先找个 SSH 客户端登入虚拟机中把密码拷贝出来
开始体验安装过程还有疑问的可以在 Bilibili 观看视频操作。
如果觉得文章不错,别忘了点赞和关注公众号,谢谢!
PS. 后面的内容会用到 阿里云,年底大促新用户首购优惠幅度挺大,有需要的同学不妨考虑搞一台。