OpenStack Skyline 现代化管理界面

目录

Skyline介绍

Skyline搭建

1.创建数据库

2.创建skyline账户

3 修改Skyline服务配置文件

4 运行skyline

5.问题排查


Skyline介绍

Skyline是新一代的OpenStack管理界面,由九州云于2021年9月捐献给OpenStack社区。同年12月末,Skyline孵化完成,成为OpenStack正式项目。2022年,Skyline开发团队完成了OpenStack的代码重构,并增加了对Octavia、Manila、Swift、Barbican、Zun、Trove等社区模块的支持。Skyline团队也通过企业微信群与社区开发者、社区用户进行了很多轮的互动讨论。2022年10月5日,Skyline第一个正式版本随OpenStack Yoga正式发布。Skyline不仅提供了OpenStack基础服务(如计算、存储、网络的操作界面),也支持许多增值服务(如文件存储、对象存储、负载均衡、数据库等服务)。一旦完成部署,Skyline不依赖任何插件就能迅速调用各种云服务接口,满足企业级的生产需求。云上的虚拟机、容器、K8s集群、RDS(Relational Database Service,关系数据库服务)数据库、负载均衡等各种资源,都能在Skyline的平台上完成全生命周期管理。

Skyline搭建

我们已经在openEuler22.09系统上使用kolla-ansible搭建好OpenStack平台了,如果未搭建完成可以进行搭建,参考文章openEuler22.03系统使用Kolla-ansible搭建OpenStack-CSDN博客进行搭建。

1.创建数据库

查询数据库密码并登陆数据库容器:

[root@controller kolla]# grep ^database /etc/kolla/passwords.yml
database_password: TahLFdeAHLRa4m4LLkHD9QxHgl1vv7ig5Oxv1I9z
[root@controller kolla]# docker exec -it mariadb bash 
(mariadb)[mysql@controller /]$ mysql -uroot -pTahLFdeAHLRa4m4LLkHD9QxHgl1vv7ig5Oxv1I9z
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10949
Server version: 10.11.10-MariaDB-log 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)]> 

进入mariadb的数据库,在MariaDB容器中创建Skyline服务的数据库并赋予远程访问权限

MariaDB [(none)]> CREATE DATABASE skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.008 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'mariadb_yoga';
Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY 'mariadb_yoga';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> exit
Bye

2.创建skyline账户

创建skyline账户并赋予admin权限

[root@controller ~]# openstack user create --domain default --password hzy123 skyline
[root@controller ~]# openstack role add --project service --user skyline admin

检查skyline账户是否创建成功。

3 修改Skyline服务配置文件

创建Skyline服务需要的配置文件目录和日志文件目录。

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

查询keystone内部服务端点地址

[root@controller ~]# openstack endpoint list --interface internal \

--service keystone -f value -c URL

http://192.168.200.10:5000

编写配置文件:

[root@controller ~]# vi /etc/skyline/skyline.yaml 
default:
  access_token_expire: 3600
  access_token_renew: 1800
  cors_allow_origins: []
# MySQL连接地址及密码
  database_url: mysql://skyline:mariadb_yoga@192.168.200.10:3306/skyline
  debug: false
  log_dir: /var/log/skyline
  log_file: skyline_wxic.log
  prometheus_basic_auth_password: 'hzy123'
  prometheus_basic_auth_user: ''
  prometheus_enable_basic_auth: false
  prometheus_endpoint: http://192.168.200.10:9091
  secret_key: nVvPJIqQLsU4dab4C8dpipFVxJsax1JvzKVJmNxH
  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认证地址
  keystone_url: http://192.168.200.10:5000/v3/
  nginx_prefix: /api/openstack
  reclaim_instance_interval: 604800
  service_mapping:
    baremetal: ironic
    compute: nova
    container: zun
    container-infra: magnum
    database: trove
    identity: keystone
    image: glance
    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
  # 修改region名
  sso_region: RegionOne
  system_admin_roles:
  - admin
  - system_admin
  system_project: service
  system_project_domain: Default
  system_reader_roles:
  - system_reader
  system_user_domain: Default
  system_user_name: skyline
  #skyline用户密码
  system_user_password: 'hzy123'
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

4 运行skyline

运行初始化引导容器生成数据库Skyline的表结构,并查看日志以验证数据库是否正常连接和表结构的创建。

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

该容器的作用是生成Skyline服务的数据库的表结构,经查询,生成了alembic_version、revoked_token、settings三张表结构,查询结果如下所示。

结构创建成功后,删除数据库初始化引导容器skyline_bootstrap

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

skyline_bootstrap

运行skyline-apiserver服务容器skyline,设置重启策略为always,并挂载配置文件和日志目录的数据卷,将容器的网络连接设置为主机的网络。

[root@controller ~]# docker run -d --name skyline --restart=always \
-v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml \
-v /var/log:/var/log \
-e LISTEN_ADDRESS=192.168.200.10:9942 \
--net=host 99cloud/skyline:latest

查看容器运行日志:

Skyline服务组件安装结束,在浏览器访问http://192.168.200.10:9942地址:

至此,OpenStack对接skyline完成。

5.问题排查

Skyline平台搭建完成但无法登入:

浏览器访问网址可以访问但无法登陆成功,使用Docker搭建完Skyline平台后,在登录页面输入正确的账户名和密码,但无法进入平台内部进行访问,检查容器的日志:

过程排查:

查询neutron容器日志发现:原因在于neutron缺少相应的组件并未加载。

通过更改neutron的配置文件并重启neutron相应的容器,问题得以解决,登录成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值