快速部署OpenStack全新UI管理Skyline Dashboard

news/2024/7/18 14:42:49 标签: openstack, ui

前置说明

系统:Ubuntu 22.04.3,
VMware虚拟机环境注意开启CPU虚拟化
配置:内存4GB,硬盘空间96GB,根目录92GB

OpenStack版本:yoga
已完成最小化组件的部署:Minimal deployment for Yoga

1个控制节点,2个计算节点

参考链接
Docker安装及使用
OpenStack新版UI管理skyline
openstack快速安装 Skyline 组件安装,支持极简化配置
官方项目
skyline官方文档
官方 skyline-apiserver
github skyline-apiserver

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

docker安装

Ubuntu 22.04 安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
docker version

skyline部署

1.获取skyline.yaml文件

rm -rf /tmp/skyline && mkdir /tmp/skyline
mkdir /etc/skyline

wget https://opendev.org/openstack/skyline-apiserver/src/branch/master/etc/skyline.yaml.sample -O /etc/skyline/skyline.yaml

2.修改配置文件

vim data/skyline.yaml
default:
  database_url: mysql://skyline:111111@controller:3306/skyline
  prometheus_endpoint: http://10.0.0.11:9091

openstack:
  keystone_url: http://10.0.0.11:35357/v3
  default_region: RegionOne
  interface_type: internal
  system_user_name: skyline
  system_user_password: 111111

或这直接修改下面内容后,生成

cat > /etc/skyline/skyline.yaml <<EOF
default:
  access_token_expire: 3600
  access_token_renew: 1800
  cors_allow_origins: []
  database_url: '$database_url'
  # database_url: 'sqlite:tmp/skyline.db'
  debug: false
  log_dir: ./log
  prometheus_basic_auth_password: ''
  prometheus_basic_auth_user: ''
  prometheus_enable_basic_auth: false
  prometheus_endpoint: http://localhost:9091
  secret_key: aCtmgbcUqYUy_HNVg5BDXCaeJgJQzHJXwqbXr0Nmb2o
  session_name: session
developer:
  show_raw_sql: false
openstack:
  keystone_url: http://172.16.102.200:35357/v3
  default_region: RegionOne
  interface_type: internal
  system_user_name: skyline
  system_user_password: SKYLINE_PASS
  base_domains:
  - heat_user_domain
  base_roles:
  - keystone_system_admin
  - keystone_system_reader
  - keystone_project_admin
  - keystone_project_member
  - keystone_project_reader
  - nova_system_admin
  - nova_system_reader
  - nova_project_admin
  - nova_project_member
  - nova_project_reader
  - cinder_system_admin
  - cinder_system_reader
  - cinder_project_admin
  - cinder_project_member
  - cinder_project_reader
  - glance_system_admin
  - glance_system_reader
  - glance_project_admin
  - glance_project_member
  - glance_project_reader
  - neutron_system_admin
  - neutron_system_reader
  - neutron_project_admin
  - neutron_project_member
  - neutron_project_reader
  - heat_system_admin
  - heat_system_reader
  - heat_project_admin
  - heat_project_member
  - heat_project_reader
  - placement_system_admin
  - placement_system_reader
  - panko_system_admin
  - panko_system_reader
  - panko_project_admin
  - panko_project_member
  - panko_project_reader
  - ironic_system_admin
  - ironic_system_reader
  - octavia_system_admin
  - octavia_system_reader
  - octavia_project_admin
  - octavia_project_member
  - octavia_project_reader
  default_region: RegionOne
  extension_mapping:
    fwaas_v2: neutron_firewall
    vpnaas: neutron_vpn
  interface_type: public
  keystone_url: '$keystone_url'
  nginx_prefix: /api/openstack
  reclaim_instance_interval: 604800
  service_mapping:
    baremetal: ironic
    compute: nova
    database: trove
    identity: keystone
    image: glance
    load-balancer: octavia
    network: neutron
    object-store: swift
    orchestration: heat
    placement: placement
    volumev3: cinder
  system_admin_roles:
  - admin
  - system_admin
  system_project: 'service'
  system_project_domain: 'Default'
  system_reader_roles:
  - system_reader
  system_user_domain: '$system_user_domain'
  system_user_name: '$system_user_name'
  system_user_password: '$system_user_password'
setting:
  base_settings:
  - flavor_families
  - gpu_models
  - usb_models
  flavor_families:
  - architecture: x86_architecture
    categories:
    - name: general_purpose
      properties: []
    - name: compute_optimized
      properties: []
    - name: memory_optimized
      properties: []
    - name: high_clock_speed
      properties: []
  - architecture: heterogeneous_computing
    categories:
    - name: compute_optimized_type_with_gpu
      properties: []
    - name: visualization_compute_optimized_type_with_gpu
      properties: []
  gpu_models:
  - nvidia_t4
  usb_models:
  - usb_c
EOF

3.创建数据库

创建skyline数据库,创建skyline数据库用户,并设置密码为111111

mysql -u root -proot -e "CREATE DATABASE skyline"
mysql -u root -proot -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY '111111'"
mysql -u root -proot -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY '111111'"

mysql -u root -proot -e "flush privileges;"
mysql -u root -proot -e "show databases;"
mysql -u root -proot -e "select user,host from mysql.user;"

4.创建服务凭证

uiltin class-name">cd
uiltin class-name">source admin-openrc.sh

openstack user create --domain default --password 111111 skyline
openstack role add --project service --user skyline admin

openstack user list
openstack service list

5.skyline_bootstrap 容器进行初始化引导

进行初始化,检查日志输出结尾是否是"exit 0"

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

docker logs skyline_bootstrap
6.运行 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 99cloud/skyline:latest

访问skyline Web界面

如果无法访问9999端口,用命令 docker logs skyline 查看容器日志

容器监听宿主机9999端口:http://10.0.0.11:9999


http://www.niftyadmin.cn/n/5169367.html

相关文章

RFID智慧物流设计解决方案

物流行业需求 物流是将物质资料从供应者运送到需求者的物理运动过程&#xff0c;涉及运输、保管、包装、装卸、流通加工、配送以及信息等多个基本活动的统一整合&#xff0c;在经济全球化和电子商务的推动下&#xff0c;快递物流和医药物流成为现代物流的两大重要产业。随着智…

剪贴板劫持--PasteJacker的使用

启动 PasteJacker [1] Windows [2] Linux [3] Exit第一次是让我们选择要攻击针对的目标系统&#xff0c;这里以Windows系统为例&#xff0c;即我自己的物理机 因此键入 1 &#xff0c;回车 [1] Download and execute a msfvenom backdoor using certutil (Web delivery Past…

Linux系统编程——文件的光标移动

光标移动(lseek) 主要用于不断对文件写入数据或读取数据的的用法&#xff0c;每次写入数据后光标在数据尾&#xff0c;若要进行读取则只会没法读取到光标前的数据&#xff0c;这个时候就不需要重启文件&#xff0c;只需对光标位置做出调整就可以读取数据 使用lseek函数需要包…

Bengio担任一作,联手一众图灵奖得主,预防AI失控,扛起AI监管大旗

图灵奖得主最近都在关心些什么呢&#xff1f;Yoshua Bengio&#xff0c;深度学习的奠基人之一&#xff0c;前几天他担任一作&#xff0c;联合多位大佬&#xff0c;发文探讨了如何在人工智能&#xff08;AI&#xff09;快速发展的时代管控相关风险&#xff0c;共同寻求当下生成式…

使用Java语言实现基本RS触发器

使用Java语言实现计算机程序来模拟基本RS触发器的工作过程&#xff0c;通过本账号2023年10月17日所发布博客“使用Java语言实现数字电路模拟器”中模拟基本逻辑门组成半加器电路的方法来模拟基本触发器的组成和时间延迟。 1 基本RS触发器电路结构 基本RS触发器&#xff08;又…

思科C9300交换机堆叠

思科C9300交换机堆叠仅支持同质堆叠&#xff0c;即仅以Cisco Catalyst 9300系列交换机作为堆叠成员的Cisco Catalyst 930O系列交换机堆叠。需要专用电缆&#xff0c;除数据交接支持堆叠外&#xff0c;还支持电源的堆叠。 在所有交换机上运行命令 "switch convert mode sta…

Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入

从表格中选择数据 要从MySQL中的表格中选择数据&#xff0c;请使用"SELECT"语句&#xff1a; 示例选择"customers"表格中的所有记录&#xff0c;并显示结果&#xff1a; import mysql.connectormydb mysql.connector.connect(host"localhost"…

【C++ 学习 ㉟】- 异常详解

目录 一、C 异常处理的基本语法 1.1 - 抛出异常 1.2 - 检测和捕获异常 二、在函数调用链中异常栈展开的匹配原则 三、异常重新抛出 四、异常规范 五、C 标准异常体系 程序的错误大致可以分为以下三种&#xff1a; 语法错误&#xff1a;在编译和链接阶段就能发现&#xf…