OpenStack使用Skyline Dashboard面板替换默认Horizon面板
书接上回 OpenStack Yoga安装使用kolla-ansible
忘记提示了。如果截止发稿今天,使用最新zed版本,在最后一步部署阶段会报错,好像是rabbitMQ重启失败。所以建议使用最新版再退一个版本
官方文档
先决条件
- 一个至少运行核心组件的 OpenStack 环境, 并能通过 Keystone endpoint 访问 OpenStack 组件
- 一个安装有容器引擎的 (docker 或 podman) 的 Linux 服务器
1. 镜像源
找到github中OpenStack对应与openstack/skyline-apiserver的镜像,即
1 | # 官方https://opendev.org/openstack/skyline-apiserver |
任意找一个国内git平台克隆一份。我这里使用jihulab.com
2. 下载skyline.yaml
找到etc/skyline.yaml.sample,这个文件
打开这个文件原始链接,下载到服务器去
得到如下链接
1 | https://jihulab.com/eric-gitta-moore/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample |
然后输入下面命令,下载到本地
1 | mkdir /etc/skyline && wget https://jihulab.com/eric-gitta-moore/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample -O /etc/skyline/skyline.yaml |
3. 编辑配置skyline.yaml
根据实际的环境修改以下参数
- database_url
修改为如下,注意:ip是浮动IP,SKYLINE_DBPASS这个是数据库用户密码 可以自定义
1 | database_url: mysql://skyline:SKYLINE_DBPASS@10.10.1.250:3306/skyline |
- keystone_url
将 127.0.0.1 修改为浮动IP
1 | keystone_url: http://10.10.1.250:35357/v3/ |
- prometheus_endpoint
1 | prometheus_endpoint: http://10.10.1.250:9091 |
- system_user_password
设置你的skyline密码
1 | system_user_password: 'SKYLINE_PASS' |
4. 配置数据库
4.1 创建 skyline 数据库
进入docker环境,命令:docker exec -it mariadb bash
1 | root@ubuntu:~# docker exec -it mariadb bash |
获取mariadb密码
1 | cat /etc/kolla/passwords.yml | grep ^database_password |
连接mariadb,命令:mysql -u root -p
1 | (mariadb)[mysql@ubuntu /]$ mysql -u root -p |
创建数据库
1 | CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; |
4.2 授予对数据库的适当访问权限
SKYLINE_DBPASS是数据库用户密码
1 | GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'SKYLINE_DBPASS'; |
之后推出MariaDB环境,输入exit
再退出docker环境,输入exit
5. 创建 skyline 服务凭证
如果没有进入python虚拟环境,先激活
1 | source /path/to/venv/bin/activate |
然后创建服务凭证
1 | (venv) root@ubuntu:~# . /etc/kolla/admin-openrc.sh |
6. 运行 skyline_bootstrap 容器进行初始化引导
这里注意使用源
1 | # 官网命令 |
这里我使用南京大学的docker hub源
1 | docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host docker.nju.edu.cn/99cloud/skyline:latest |
7. 初始化引导完成后运行 skyline 服务
删除引导容器
1 | docker rm -f skyline_bootstrap |
运行 skyline 服务
1 | docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host docker.nju.edu.cn/99cloud/skyline:latest |
完成。
现在你可以访问仪表盘: https://<浮动ip>:9999