当前位置: 首页 > news >正文

OpenStack Yoga版实战:5分钟搞定Skyline Dashboard替换Horizon面板(附国内镜像加速)

OpenStack Yoga版实战:5分钟搞定Skyline Dashboard替换Horizon面板(附国内镜像加速)

对于国内OpenStack初学者来说,Horizon面板的功能限制和性能问题常常让人头疼。而Skyline Dashboard作为新一代可视化工具,不仅界面更现代化,还提供了更丰富的监控和管理功能。本文将带你快速完成从Horizon到Skyline的平滑迁移,特别针对国内网络环境优化,使用南京大学等国内镜像源加速部署。

1. 环境准备与国内镜像配置

在开始之前,确保你已经具备以下条件:

  • 一个正常运行核心组件的OpenStack Yoga环境
  • 能够通过Keystone endpoint访问OpenStack组件
  • 安装有Docker或Podman的Linux服务器

国内镜像加速配置是成功部署的关键第一步。由于直接从官方源拉取镜像速度缓慢甚至失败,我们需要修改Docker配置:

# 创建或修改Docker配置文件 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://docker.nju.edu.cn"] } EOF # 重启Docker服务 sudo systemctl restart docker

这个配置将默认使用南京大学的Docker镜像源,速度提升显著。如果你所在地区访问南京大学源不理想,还可以考虑以下国内镜像源:

镜像源名称地址适用地区
南京大学https://docker.nju.edu.cn华东地区
阿里云https://<你的ID>.mirror.aliyuncs.com全国
腾讯云https://mirror.ccs.tencentyun.com华南地区

2. Skyline Dashboard快速部署

2.1 获取配置文件

首先我们需要获取Skyline的配置文件模板。直接从GitHub克隆可能会很慢,这里我们使用国内镜像:

# 创建配置目录 sudo mkdir -p /etc/skyline # 从国内源下载配置文件 sudo wget https://jihulab.com/james-curtis/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample -O /etc/skyline/skyline.yaml

2.2 关键配置修改

用文本编辑器打开/etc/skyline/skyline.yaml,需要修改以下几个关键参数:

database_url: mysql://skyline:你的密码@控制器IP:3306/skyline keystone_url: http://控制器IP:35357/v3/ prometheus_endpoint: http://监控节点IP:9091 system_user_password: '你的Skyline密码'

注意:将"控制器IP"替换为你OpenStack控制节点的实际IP地址,"你的密码"和"你的Skyline密码"替换为强密码。

3. 数据库准备

Skyline需要独立的数据库存储其数据,我们需要在MariaDB中创建专用数据库。

3.1 创建数据库

首先进入MariaDB容器:

# 获取MariaDB容器名称或ID docker ps | grep mariadb # 进入容器 docker exec -it 容器名称 bash

在MariaDB中执行以下SQL命令:

CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;

3.2 验证数据库连接

退出容器后,可以通过以下命令测试数据库连接是否正常:

mysql -u skyline -p -h 控制器IP skyline

输入密码后能成功连接说明数据库配置正确。

4. 服务部署与启动

4.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

初始化过程通常需要1-2分钟,可以通过以下命令查看日志:

docker logs -f skyline_bootstrap

当看到"Bootstrap complete"字样时,表示初始化完成。

4.2 启动正式服务

初始化完成后,移除引导容器并启动正式服务:

# 移除引导容器 docker rm -f skyline_bootstrap # 启动正式服务 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

4.3 验证服务状态

检查服务是否正常运行:

curl -k https://localhost:9999/api/health

如果返回{"status":"ok"},说明服务已正常启动。

5. 访问与使用技巧

现在你可以通过浏览器访问Skyline Dashboard:

https://你的服务器IP:9999

首次登录使用以下凭据:

  • 用户名:admin
  • 密码:你在skyline.yaml中设置的system_user_password

安全提示:首次登录后请立即修改默认密码,并在生产环境中配置HTTPS证书。

Skyline提供了许多Horizon不具备的实用功能:

  • 资源拓扑图:直观展示各资源之间的关系
  • 高级监控:集成Prometheus,提供更详细的性能指标
  • 自定义面板:用户可以创建个性化的仪表盘
  • 操作审计:记录所有管理操作便于追溯

如果遇到性能问题,可以调整Docker容器的资源限制:

docker update --memory 2G --memory-swap 3G skyline

在实际使用中,Skyline的响应速度明显快于Horizon,特别是在大规模部署环境下。它的现代化界面也大大提升了管理体验。

http://www.jsqmd.com/news/493852/

相关文章:

  • 一键生成:CosyVoice语音克隆,让每个公式都有专属“解说员”
  • 老旧设备焕新:T-pro-it-2.0模型在低配置Intel CPU环境的部署优化实践
  • Qwen3-TTS效果展示:多语言语音合成,让你的游戏走向世界
  • 革新性字幕渲染引擎:xy-VSFilter全方位提升视频观看体验
  • 《QMT量化进阶指南》多因子动态权重策略实战:从因子构建到收益优化
  • M2LOrder在智能客服场景落地:结合微信小程序开发实时情绪反馈
  • 麦橘超然Flux实战:用中文提示词生成惊艳的赛博朋克城市
  • SiameseUIE中文-base保姆级教程:Gradio界面多Schema标签页切换演示
  • 企业IM机器人开发实战指南:从0到1构建自动化办公助手
  • 零代码玩转InstructPix2Pix:快速部署,开启对话式修图新体验
  • 深入解析MAVLink SET_POSITION_TARGET_LOCAL_NED:精准控制无人机位置与速度的实战指南
  • 浦语灵笔2.5-7B效果展示:建筑平面图→空间功能分析+装修建议生成
  • 三坐标测量必看:如何用PC-DMIS最佳拟合提升尺寸评价准确度?
  • 掌握Escrcpy:高效跨设备安卓控制解决方案全指南
  • 立创EDA专业版原理图绘制全攻略:从元件库到PCB导入的10个实用技巧
  • 5步实现安全主题定制:Windows系统美化工具全解析
  • 2026年质量好的铁路自动加砂设备品牌推荐:铁路自动加砂设备实力品牌厂家推荐 - 品牌宣传支持者
  • RD-Agent架构设计深度解析:核心技术实现原理与应用场景图谱
  • 机械臂选型避坑指南:如何用Python快速验证工作空间是否满足需求?
  • 告别重复造轮子:用快马AI一键生成moltbook官网模板,效率倍增
  • 突破限制:在iOS设备上畅玩全版本Minecraft Java版的完整指南
  • Ring All-reduce实战:如何在PyTorch中优化分布式训练通信效率
  • Granite TimeSeries FlowState R1模型剪枝与量化教程:实现轻量化部署
  • 巡检机器人:从感知到决策的智能系统演进
  • C Primer Plus第六版第15章编程练习第2题
  • PaddleOCR-VL-WEB完整流程:从镜像部署到手写识别,小白友好全攻略
  • 告别复杂图片编辑:AI驱动的智能修复技术革新全攻略
  • 零基础Python IDE选择:Thonny轻量级开发环境安装指南
  • TensorFlow-v2.15实战:手写数字识别模型从训练到部署全流程
  • ManiSkill机器人模拟平台:从环境搭建到复杂任务实现的全流程解决方案