OpenStack使用Skyline Dashboard面板替换默认Horizon面板

本文详细介绍了如何使用kolla-ansible在OpenStackYoga环境中安装skyline-apiserver,包括配置数据库、创建服务凭证、运行初始化引导和启动服务。过程中提到了可能遇到的RabbitMQ重启失败问题,并给出了使用特定版本的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书接上回 OpenStack Yoga安装使用kolla-ansible 

忘记提示了。如果截止发稿今天,使用最新zed版本,在最后一步部署阶段会报错,好像是rabbitMQ重启失败。所以建议使用最新版再退一个版本


官方文档

skyline-apiserver/README-zh_CN.md at master - skyline-apiserver - OpenDev: Free Software Needs Free Tools

先决条件 

  • 一个至少运行核心组件的 OpenStack 环境, 并能通过 Keystone endpoint 访问 OpenStack 组件
  • 一个安装有容器引擎的 (docker 或 podman) 的 Linux 服务器

1. 镜像源

找到github中OpenStack对应与openstack/skyline-apiserver的镜像,即

# 官方https://opendev.org/openstack/skyline-apiserver
# github 如下
https://github.com/openstack/skyline-apiserver

任意找一个国内git平台克隆一份。我这里使用jihulab.com

  

2. 下载skyline.yaml

找到etc/skyline.yaml.sample,这个文件

打开这个文件原始链接,下载到服务器去

得到如下链接

https://jihulab.com/james-curtis/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample

 然后输入下面命令,下载到本地

mkdir /etc/skyline && wget https://jihulab.com/james-curtis/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample  -O /etc/skyline/skyline.yaml

3. 编辑配置skyline.yaml

根据实际的环境修改以下参数

  • database_url

 修改为如下,注意:ip是浮动IP,SKYLINE_DBPASS这个是数据库用户密码 可以自定义

  database_url: mysql://skyline:SKYLINE_DBPASS@10.10.1.250:3306/skyline
  • keystone_url

将 127.0.0.1 修改为浮动IP

  keystone_url: http://10.10.1.250:35357/v3/
  • prometheus_endpoint
  prometheus_endpoint: http://10.10.1.250:9091
  • system_user_password

设置你的skyline密码

  system_user_password: 'SKYLINE_PASS'

4. 配置数据库

4.1 创建 skyline 数据库

进入docker环境,命令:docker exec -it mariadb bash

root@ubuntu:~# docker exec -it mariadb bash
(mariadb)[mysql@ubuntu /]$ 

获取mariadb密码

cat /etc/kolla/passwords.yml | grep ^database_password

连接mariadb,命令:mysql -u root -p

(mariadb)[mysql@ubuntu /]$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6407
Server version: 10.6.11-MariaDB-1:10.6.11+maria~ubu2004-log mariadb.org binary distribution

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 IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

4.2 授予对数据库的适当访问权限

SKYLINE_DBPASS是数据库用户密码

GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'SKYLINE_DBPASS';
GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%'  IDENTIFIED BY 'SKYLINE_DBPASS';

之后推出MariaDB环境,输入exit

再退出docker环境,输入exit

5. 创建 skyline 服务凭证

如果没有进入python虚拟环境,先激活

source /path/to/venv/bin/activate

 然后创建服务凭证

(venv) root@ubuntu:~# . /etc/kolla/admin-openrc.sh
(venv) root@ubuntu:~# openstack user create --domain default --password SKYLINE_PASS skyline
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | cef488018dd542d9b12a6260f1413194 |
| name                | skyline                          |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
(venv) root@ubuntu:~# openstack role add --project service --user skyline admin
(venv) root@ubuntu:~# 

6. 运行 skyline_bootstrap 容器进行初始化引导

这里注意使用源

# 官网命令
# docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest

这里我使用南京大学的docker hub源

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 服务

 删除引导容器

docker rm -f skyline_bootstrap

运行 skyline 服务

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

 

 

 

### 使用 Kolla 部署 OpenStack 并集成 Skyline 监控 #### 背景介绍 Kolla 是 OpenStack 的官方项目之一,旨在通过容器化的方式简化 OpenStack 的部署过程。Skyline 则是一个强大的时间序列数据监控和异常检测工具,能够帮助管理员实时监测系统的性能指标并及时发现潜在问题。 在 Ubuntu 22.04 上使用 Kolla-Ansible 部署 OpenStack,并将其与 Skyline 集成的过程可以分为以下几个方面来描述: --- #### 准备工作 为了成功完成此操作,需确保环境满足以下条件: - 已经安装好 Ubuntu 22.04 系统。 - 安装 Git 和 Python Pip 工具以便获取必要的软件包[^1]。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install git python3-pip -y ``` --- #### 下载 Kolla-Ansible 源码 按照指定的稳定分支 `stable/zed` 获取源代码并安装依赖项。 ```bash git clone https://opendev.org/openstack/kolla-ansible.git -b stable/zed cd kolla-ansible pip install . ``` 上述命令会克隆最新的 Zed 版本仓库到本地目录,并利用 pip 将其作为模块安装至当前环境中[^1]。 --- #### 配置 Kolla-Ansible 基础设置 编辑全局配置文件 `/etc/kolla/globals.yml` 或者创建自定义路径下的同名文件用于覆盖默认参数设定。重点调整如下字段以支持后续扩展功能需求: ```yaml enable_prometheus: "yes" enable_grafana: "yes" monitoring_enabled: "true" ``` 这些选项启用了 Prometheus 和 Grafana 组件的支持,它们构成了 Skyline 数据收集的基础架构体系的一部分[^2]。 --- #### 构建镜像与服务启动 执行初始化脚本来生成所需的服务容器映像以及实际运行实例。 ```bash kolla-ansible pull --tags openstack,monitoring kolla-ansible deploy --tags openstack,monitoring ``` 这一步骤将拉取远程存储库中的最新版本镜像资源同时依据预设规则部署对应的服务进程[^3]。 --- #### 安装与配置 Skyline 由于 Kolla 默认并不直接提供对 Skyline 的内置支持,因此需要手动引入该组件并与现有框架对接起来实现联动效果。 ##### 步骤一:下载 Skyline 库 访问官方 GitHub 页面或者 PyPI 包管理平台检索目标发行版号进行安装处理。 ```bash pip install skyline ``` ##### 步骤二:修改 Horizon 插件关联逻辑 进入 OpenStack Web 控制台插件开发区域添加新的菜单入口指向外部 API 接口地址。 ##### 步骤三:同步数据库结构变更记录 如果涉及持久层改造,则务必遵循文档指引完成迁移任务以免影响正常业务运转效率。 --- #### 测试验证环节 最后确认整体链路畅通无阻之后即可投入使用阶段,在浏览器输入相应 URL 地址查看图形界面展示情况是否符合预期标准。 ```plaintext http://<your-server-ip>:80/grafana/dashboard/db/skyline-overview?orgId=1 ``` 以上链接假设已正确绑定端口号及子域名解析关系前提下有效加载页面内容[^4]。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值