OpenStack环境下的Skyline部署指南
创作时间:
作者:
@小白创作中心
OpenStack环境下的Skyline部署指南
引用
CSDN
1.
https://blog.csdn.net/m0_64417755/article/details/138270347
Skyline是OpenStack生态系统中的一个重要组件,主要用于提供统一的API服务和资源管理功能。本文将详细介绍在OpenStack环境中部署Skyline的具体步骤,包括环境准备、数据库配置、服务凭证创建以及容器运行等关键环节。
环境要求
- 一个安装有容器引擎(docker 或 podman)的 Linux 服务器
- 一个至少运行核心组件的 OpenStack 环境,并能通过 Keystone endpoint 访问 OpenStack 组件
1. Docker 安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 查看版本
docker version
2. 新建数据库
在安装和配置 Skyline APIServer 服务之前,必须创建一个数据库。
# 1. 连接到数据库
mysql -uroot -p数据库root用户密码
# 2. 创建skyline数据库
CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 3. 创建skyline数据库用户,并设置密码<SKYLINE_DBPASS>
GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY '<SKYLINE_DBPASS>';
GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY '<SKYLINE_DBPASS>';
注1:如果openstack环境是kolla-ansible搭建的需要用 docker exec -it mariadb bash 进入mysql容器进行添加数据库用户操作
注2:如果openstack环境是kolla-ansible搭建的需要用 cat /etc/kolla/passwords.yml |grep ^database_password 查看mysql的root密码
3. 创建服务凭证
source /etc/kolla/admin-openrc.sh
# 创建skyline用户并设置密码为 SKYLINE_PASS
openstack user create --domain default --password <SKYLINE_PASS> skyline
# 将skyline设置为admin角色
openstack role add --project service --user skyline admin
# 如果提示没有openstack命令请安装 yum install -y python-openstackclient
4. 创建配置文件
mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline /var/log/nginx
vim /etc/skyline/skyline.yaml
default:
access_token_expire: 3600
access_token_renew: 1800
cors_allow_origins: []
#database_url: sqlite:tmp/skyline.db
database_url: 'mysql://skyline:000000@172.5.1.236:3306/skyline'
debug: false
log_dir: ./log
log_file: skyline.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
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://172.5.1.236: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
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
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
5. 运行 skyline_bootstrap 容器进行初始化引导
# 进行初始化
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest
# 检查日志输出结尾是否是"exit 0"
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
# LISTEN_ADDRESS defaults to 0.0.0.0:9999 默认端口是9999,如果需要指定端口也可以增加参数 -e LISTEN_ADDRESS=<ip:port>
7. 排查
1、如果没有9999端口监听,则尝试停掉horzion,看下nginx的配置文件,skyline容器里面 8080端口
root@control01:/etc/nginx# pwd
/etc/nginx
root@control01:/etc/nginx# cat /etc/nginx/nginx.conf | grep listen -C 10
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
upstream skyline {
server unix:/var/lib/skyline/skyline.sock fail_timeout=0;
}
##
# Virtual Host Configs
##
server {
listen 8080 ssl http2 default_server; ### 8080端口
root /skyline/libs/skyline-console/skyline_console/static;
# Add index.php to the list if you are using PHP
index index.html;
server_name _;
error_page 497 https://$http_host$request_uri;
root@control01:/etc/nginx#
热门推荐
什么是焦虑症有哪些表现
孩子呼吸道感染后咳嗽不断,易坦静让咳嗽 “刹车”
“竖起来的外滩”是如何建成的?专家在上海现代建筑科技馆揭秘
精密机械加工:为手机制造注入精密与品质
一文读懂呼吸系统疾病:从病因到预防
一种松针粉、豆腐渣混合发酵型饲料及其制备方法和应用
下馆子吃饭前“烫一下”碗筷,有用吗?检测结果来了……
鼓刹和碟刹有什么区别?哪个更好?为什么很多人不待见鼓刹?
天然植物精油有哪些优点?使用时应注意什么?
石英晶体滤波器简述
税务部门积极探索企业注销便利化举措
达格列净天天吃,5大好处和4大注意事项,一定要了解
机器视觉的应用:解锁智能制造与行业升级的新篇章
药物中止不当,严重后果不可忽视!
《荒野大镖客2》配置要求一览:畅玩西部世界的硬件门槛!
六个问答,了解桥本氏甲状腺炎
厦门房产市场评估与未来发展趋势
跨城跳槽必看!住房公积金异地转移接续操作指南(2024最新版)
守护国家版图安全 省自然资源厅派专家赴乡镇中学开展国家安全知识专题讲座
预防新生儿神经管畸形,备孕期就要补叶酸
上岸之后:一群专升本学生的突围、彷徨与新生
婴幼儿健康 | 小朋友容易患呼吸道合胞病毒RSV?传染力超高,严重可致肺炎!
侧发光还是背光LED显示屏,我们该如何选择
表达心情甜蜜爱情句子(精选60句)
哪些因素决定了创新创业成功的案例的成功率
西安交通大学等三校合作突破:新型水热合成实现高熵合金纳米粒子精准制备
大连落户的条件是什么?这种条件对申请人有何影响?
战时画面曝光!二战北非风云,沙漠中的生死对决与智谋较量
Excel批量使用VBA的完整指南:从入门到精通
留学申请护照扫描怎么做?如何正确操作?