基于OpenStackT版部署Skyline

Skyline简介

OpenStack Web界面可以用 Horizon 来提供,也可以使用更加优雅、更加大气的 Skyline

Skyline 的吉祥物是九色鹿。九色鹿取自敦煌壁画《九色鹿王》,其寓意是佛教因果和感恩,这与99cloud自成立以来拥抱和回馈社区的理念是一致的。Skyline 由九州云于 2021 年 9 月捐献给 OpenStack 社区。同年 12 月末,Skyline 孵化完成,毕业成为 OpenStack 正式项目。

Skyline 可以和之前的 Dashboard 共存,互不影响。Skyline 通过容器加载 yaml 文件(文件中定义数据库地址、Keystone地址、以及相关账号密码等)去数据库中获取对应资源,并在界面展示。

图片[1]-基于OpenStackT版部署Skyline-创信博客

部署环境

OpenStack版本OpenStack Train
Domaindemo
Projectadmin、service、demo

创建Skyline管理用户

创建Skyline数据库

[root@controller ~]# mysql -uroot -p000000 -e "CREATE DATABASE skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"
[root@controller ~]# mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY '000000'; "
[root@controller ~]# mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY '000000'; "

创建Skyline用户并授予管理员权限

[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# openstack user create --domain demo --password-prompt skyline
User Password: #这里自定义密码 000000
Repeat User Password: #这里自定义密码 000000
+---------------------+----------------------------------+
| Field                | Value                               |
+---------------------+----------------------------------+
| domain_id           | default                              |
| enabled             | True                                |
| id                  | 02860f16cac3456da8265fe75a219631    |
| name               | skyline                              |
| options             | {}                                   |
| password_expires_at  | None                               |
+---------------------+----------------------------------+
[root@controller ~]# openstack role add --project service --user skyline admin

部署Skyline运行环境

在skyline节点中上传docker-repo.tar.gz软件包和skyline.tar镜像包并配置docker本地源
也可以直接使用controller节点部署skyline

[root@skyline ~]# ls
anaconda-ks.cfg  docker-repo.tar.gz  skyline.tar
[root@skyline ~]# tar zxvf docker-repo.tar.gz -C /opt/
[root@skyline ~]# rm -rf /etc/yum.repos.d/*
[root@skyline ~]# vi /etc/yum.repos.d/docker.repo
[docker]
name=docker
baseurl=file:///opt/docker-repo
gpgcheck=0
enabled=1

安装docker服务
若按照缺少软件包,可上传CentOS7.9-2009镜像作为本地源补充软件包

[root@skyline ~]# yum -y install docker-ce
[root@skyline ~]# systemctl enable docker --now

导入Skyline镜像

[root@skyline ~]# docker load -i skyline.tar

配置Skyline工作目录

[root@skyline ~]# mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline /var/log/nginx /etc/skyline/policy

创建yaml文件

[root@skyline ~]# vi /etc/skyline/skyline.yaml
[root@controller ~]# cat /etc/skyline/skyline.yaml 
default:
  access_token_expire: 3600
  access_token_renew: 1800
  cafile: ''
  cors_allow_origins: []
  database_url: mysql://skyline:000000@192.168.100.10:3306/skyline  ##注意修改为实际的数据库IP地址
  debug: true
  log_dir: /var/log/skyline
  log_file: skyline.log
  policy_file_path: /etc/skyline/policy
  policy_file_suffix: policy.yaml
  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
  ssl_enabled: true
openstack:
  base_domains:
  - heat_user_domain
  default_region: RegionOne
  enforce_new_defaults: true
  extension_mapping:
    floating-ip-port-forwarding: neutron_port_forwarding
    fwaas_v2: neutron_firewall
    qos: neutron_qos
    vpnaas: neutron_vpn
  interface_type: public
  keystone_url: http://192.168.100.10:5000/v3/  ##注意修改为实际的keystone认证地址
  nginx_prefix: /api/openstack
  reclaim_instance_interval: 604800
  service_mapping:
    baremetal: ironic
    compute: nova
    container: zun
    container-infra: magnum
    database: trove
    dns: designate
    identity: keystone
    image: glance
    instance-ha: masakari
    key-manager: barbican
    load-balancer: octavia
    network: neutron
    object-store: swift
    orchestration: heat
    placement: placement
    sharev2: manilav2
    volumev3: cinder
  sso_enabled: false
  sso_protocols:
  - openid
  sso_region: RegionOne
  system_admin_roles:
  - admin
  - system_admin
  system_project: service  ##注意修改为实际的项目名称
  system_project_domain: demo  ##注意修改为实际的域名称
  system_reader_roles:
  - system_reader
  system_user_domain: demo  ##注意修改为实际的用户所在域名称
  system_user_name: skyline  ##注意修改为实际的用户名
  system_user_password: '000000'  ##注意修改为实际的用户密码
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

运行引导服务器

[root@skyline ~]#  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

查看日志,如果看到以下日志信息,说明引导服务器初始化成功

[root@skyline ~]# 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

清理引导服务器

[root@skyline ~]# docker rm -f skyline_bootstrap

运行Skyline-apiserver

[root@skyline ~]# 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
[root@skyline ~]# docker ps

如果需要自定义端口号,则在启动skyline时添加-e LISTEN_ADDRESS=参数,默认端口号为9999

访问 Skyline

地址http://x.x.x.x:9999,使用操作流程和之前的 Dashboard 一致,不过需要提前熟悉界面

图片[2]-基于OpenStackT版部署Skyline-创信博客
图片[3]-基于OpenStackT版部署Skyline-创信博客
© 版权声明
THE END
喜欢就支持一下吧
点赞29 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容