1 您需要了解
- OpenStack Web界面可以用 Horizon 来提供,也可以使用更加优雅、更加大气的
Skyline
Skyline
的吉祥物是九色鹿。九色鹿取自敦煌壁画《九色鹿王》,其寓意是佛教因果和感恩,这与99cloud
自成立以来拥抱和回馈社区的理念是一致的。Skyline
由九州云于 2021 年 9 月捐献给 OpenStack 社区。同年 12 月末,Skyline
孵化完成,毕业成为 OpenStack 正式项目。点击查看官方文档- 无论是手工搭建还是工具
Packstack
搭建的Openstack
环境,都可以单独配置Skyline
,配置方法一致 - 本篇是在
Packstack
搭建完成Victoria版本
基础之上,利用Docker
环境单独进行配置,点击查看官方配置 - 为有更好的浏览体验,您可以点击文章左上方
目录
按钮来显示文章整体目录结构
- 相关文章
- G003-OS-LIN-RHEL-01 红帽 8.4 安装
- G033-OP-COA-OPEN-04 CentOS Stream 8 通过 Packstack 安装开源 OpenStack(V版)
2 环境规划
计算节点必须开启虚拟化引擎
Intel VT-x
或AMD-V
。虚拟机配置可根据实际情况进行调整。
主机名 | IP | 网关/DNS | CPU/内存 | 磁盘 | 角色 | 备注 |
---|---|---|---|---|---|---|
controller | 192.168.100.128 | 192.168.100.2 | 4c16g | 100g | 控制/网络/计算 | 必须开启虚拟化引擎 |
compute | 192.168.100.129 | 192.168.100.2 | 4c16g | 100g | 计算节点 | 必须开启虚拟化引擎 |
3 Skyline 配置(仅控制节点)
注意:Skyline 可以和之前的 Dashboard 共存,互不影响。Skyline 通过容器加载 yaml 文件(文件中定义数据库地址、Keystone地址、以及相关账号密码等)去数据库中获取对应资源,并在界面展示。
3.1 建库并授权
[root@controller ~]# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1887
Server version: 10.3.28-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'skylineredhat';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY 'skylineredhat';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> exit
Bye
3.2 创建OpenStack用户并授权
在对 skyline 用户授权的时候,注意所属的 project,手工搭建默认project名称为 service,而Packstack搭建默认project名称为 services(多了一个s)
[root@controller ~]# source keystonerc_admin
[root@controller ~(keystone_admin)]# openstack user create --domain default --password-prompt skyline
User Password: #这里自定义密码 redhat
Repeat User Password: #这里自定义密码 redhat
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 02860f16cac3456da8265fe75a219631 |
| name | skyline |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@controller ~(keystone_admin)]# openstack role add --project services --user skyline admin
3.3 安装 Docker
下载 repo
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker
yum install -y docker-ce
systemctl enable docker.service
systemctl start docker.service
拉取镜像
docker pull 99cloud/skyline:latest
3.4 创建并修改配置文件
skyline.yaml 文件内容,点这里查看
创建目录
mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline /var/log/nginx /etc/skyline/policy
创建yaml文件
vim /etc/skyline/skyline.yaml
并修改以下对应行
...
database_url: mysql://skyline:skylineredhat@192.168.100.128:3306/skyline
debug: true
log_dir: /var/log/skyline
keystone_url: http://192.168.100.128:5000/v3/
system_project: services
system_user_password: 'redhat'
...
3.5 设置iptables规则
PackStack搭建的环境,需要手工放行端口
9999
(Skyline容器默认启用的端口),否则无法访问界面
[root@controller ~(keystone_admin)]# iptables -I INPUT -p tcp --dport 9999 -j ACCEPT
3.6 运行引导服务器
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /var/log:/var/log --net=host 99cloud/skyline:latest
3.7 查看日志
如过看到以下日志信息,说明引导服务器初始化成功
[root@controller ~(keystone_admin)]# docker logs skyline_bootstrap
+ echo '/usr/local/bin/gunicorn -c /etc/skyline/gunicorn.py skyline_apiserver.main:app'
+ mapfile -t CMD
++ tail /run_command
++ xargs -n 1
+ [[ -n 0 ]]
+ cd /opt/skyline_apiserver/
+ make db_sync
alembic -c skyline_apiserver/db/alembic/alembic.ini upgrade head
2024-03-29 00:30:28.443 | INFO | alembic.runtime.migration:__init__:205 - Context impl MySQLImpl.
2024-03-29 00:30:28.443 | INFO | alembic.runtime.migration:__init__:208 - Will assume non-transactional DDL.
2024-03-29 00:30:28.459 | INFO | alembic.runtime.migration:run_migrations:619 - Running upgrade -> 000, init
+ exit 0
3.8 清理引导服务器
[root@controller ~(keystone_admin)]# docker rm -f skyline_bootstrap
3.9 运行 skyline-apiserver
docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /var/log:/var/log --net=host 99cloud/skyline:latest
docker ps
3.9 访问 Skyline
地址 http://x.x.x.x:9999,使用操作流程和之前的 Dashboard 一致,不过需要提前熟悉界面
- END