> 文章列表 > OpenStack 面板更替换代:Skyline Dashboard <-- Horizon 面板

OpenStack 面板更替换代:Skyline Dashboard <-- Horizon 面板

OpenStack 面板更替换代:Skyline Dashboard <-- Horizon 面板

~、OpenStack 面板更替换代:Skyline Dashboard <-- Horizon 面板    

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

一、
(一)、创建 skyline 服务凭证 。

# 脚本初始化先: source  /etc/kolla/admin-openrc.sh 

openstack user create --domain default --password skyline skyline              # 用户 skyline 已存在 。"openstack user show skyline" 查看。
Conflict occurred attempting to store user - Duplicate entry found with name skyline at domain ID default. (HTTP 409) (Request-ID: req-77262ddd-d787-49ad-b910-22ac593c8e4e) 
openstack role add --project service --user skyline admin

或,新建用户。    
openstack user create --domain default --password skyline stack 
openstack role add --project service --user stack admin

(一)、创建数据库 。
stack@chenlx-pitaya-svr:~$  
cat /etc/kolla/passwords.yml | grep ^database_password                # 获取mariadb 密码 

docker exec -it mariadb bash                                     # 进入 mariadb 容器。
(mariadb)[mysql@chenlx-pitaya-svr /]$ mysql -u root -p

CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

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

(一)、服务配置更新 。

stack@chenlx-pitaya-svr:~$  sudo wget https://jihulab.com/james-curtis/skyline-apiserver/-/raw/master/etc/skyline.yaml.sample  -O /etc/skyline/skyline.yaml        # 或拷贝 skyline-apiserver-2.0.0\\etc\\skyline.yaml.sample

编辑 /etc/skyline/skyline.yaml 
 # database_url: sqlite:tmp/skyline.db 
 # database_url: mysql://skyline:hwwCUPUHJ3Fcf5anzgx38oC9rXcAs8ItHSaCh7Sl@192.168.157.132:3306/skyline
 #  database_url: mysql://stack:hwwCUPUHJ3Fcf5anzgx38oC9rXcAs8ItHSaCh7Sl@192.168.157.132:3306/skyline
 database_url: mysql://root:hwwCUPUHJ3Fcf5anzgx38oC9rXcAs8ItHSaCh7Sl@192.168.157.132:3306/skyline

# prometheus_endpoint: http://localhost:9091
 prometheus_endpoint: http://192.168.157.132:9091

# keystone_url: http://127.0.0.1:5000/v3/
keystone_url: http://192.168.157.132:5000/v3/

 # system_user_name: skyline
 # system_user_password: ''
 system_user_name: stack
 system_user_password: 'skyline'

一、
(一)、启动容器服务 。

docker pull 99cloud/skyline:zed

docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host  99cloud/skyline:zed                      # 临时容器,初始化引导一下 。
docker rm -f skyline_bootstrap

docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /var/log/skyline:/var/log/skyline -v /tmp/skyline:/tmp  --net=host  99cloud/skyline:zed        # 正式创建服务容器 。

docker ps | grep skyline                                         # 运行状态
53b1a923a18c   99cloud/skyline:zed             "start_service.sh"       2 hours ago   Up 2 hours        skyline                                                       # 正在运行
# 或,
64a34b7cf976   99cloud/skyline:zed              "start_service.sh"       4 minutes ago   Restarting (1) 9 seconds ago               skyline                     # 或像这样,无法启动运行。

访问仪表盘:   https://192.168.157.132:9999    即 https://<浮动ip>:9999    
                                 

------------
参, OpenStack使用Skyline Dashboard面板替换默认Horizon面板  2023-02-03 。
       工程说明  README.rst 、 README-zh_CN.rst  。

------- FAQ -------
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host  99cloud/skyline:zed                      # 临时容器 skyline_bootstrap,初始化引导 。
docker logs skyline_bootstrap
报错:
yaml.parser.ParserError: while parsing a block mapping
  in "/etc/skyline/skyline.yaml", line 2, column 3
expected <block end>, but found '<block mapping start>'              # 注意:yaml 配置层次,换行格式对齐。
  in "/etc/skyline/skyline.yaml", line 8, column 5
处理。
# keystone_url: http://127.0.0.1:5000/v3/                     # OK: 行首与上一行的"#" 对齐 。
keystone_url: http://192.168.157.132:5000/v3/

# keystone_url: http://127.0.0.1:5000/v3/                                    # Bad: 行首与上一行的"#" 没有对齐 。    
   keystone_url: http://192.168.157.132:5000/v3/

处理后, "docker logs skyline_bootstrap" 命令结果,应以 "exit 0" 正常退出。

------------