当前位置: 首页 > news >正文

OpenStack-train版安装之安装Keystone(认证服务)、Glance(镜像服务)、Placement

安装Keystone(认证服务)、Glance(镜像服务)、Placement

  • 安装Keystone(认证服务)
  • 安装Glance(镜像服务)
  • 安装Placement

安装Keystone(认证服务)

  1. 数据库创建、创建用户并授权
 # mysql
MariaDB [(none)]> CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \IDENTIFIED BY 'KEYSTONE_DBPASS';
  1. 安装和配置
 # yum install openstack-keystone httpd mod_wsgi -y

配置,修改配置文件/etc/keystone/keystone.conf,在对应分组【[组名]】下添加配置:
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[token]
provider = fernet

初始化数据库:

 # su -s /bin/sh -c "keystone-manage db_sync" keystone

初始化密钥库:

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

引导认证服务:

# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \--bootstrap-admin-url http://controller:5000/v3/ \--bootstrap-internal-url http://controller:5000/v3/ \--bootstrap-public-url http://controller:5000/v3/ \--bootstrap-region-id RegionOne

配置,修改配置文件/etc/httpd/conf/httpd.conf,在配置ServerAdmin root@localhost下一行添加ServerName controller:
在这里插入图片描述
创建软链:

# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

设置开机启动并启动服务:

# systemctl enable httpd.service
# systemctl start httpd.service

验证

# systemctl status httpd.service
# lsof -i:5000
  1. 创建OpenStack客户端环境脚本
# mkdir -p /root/.openstack
# cat >> /root/.openstack/admin-openrc << EOF
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF

加入环境变量,生效:

# cat >> /root/.bashrc << EOF
source  /root/.openstack/admin-openrc
EOF
# source /root/.bashrc
  1. 验证
    可正常查询:
# openstack token issue

在这里插入图片描述
验证auth_url返回报文:

# curl controller:5000/v3

在这里插入图片描述

  1. 创建域、项目、用户、角色
# openstack domain create --description "An Example Domain" example
# openstack project create --domain default   --description "Service Project" service
# openstack project create --domain default   --description "Demo Project" myproject
# openstack user create --domain default   --password-prompt myuser

输入用户密码、确认密码:MYUSER_PASS
创建角色、将用户加入角色:

# openstack role create myrole
# openstack role add --project myproject --user myuser myrole
  1. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/keystone/train/install/keystone-install-rdo.html
  • 安装mysql时做了安装初始化,将密码设置为无,如有设置密码,连接时请加账号密码。
  • OpenStack部署完成后使用,dashboard中使用角色管理时提示【错误:在keystone中无法找到默认角色user】。解决方法一:创建user角色:openstack role create user。解决方法二:安装Horizon配置‘OPENSTACK_KEYSTONE_DEFAULT_ROLE = “user”’将user改为其他已存在的角色。

安装Glance(镜像服务)

  1. 数据库创建、创建用户并授权
# mysql
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \IDENTIFIED BY 'GLANCE_DBPASS';
  1. 创建服务凭证
 # openstack user create --domain default --password-prompt glance

输入密码:GLANCE_PASS
确认密码:GLANCE_PASS

# openstack role add --project service --user glance admin# openstack service create --name glance   --description "OpenStack Image" image
  1. 创建服务API接入点
# openstack endpoint create --region RegionOne   image public http://controller:9292
# openstack endpoint create --region RegionOne   image internal http://controller:9292
# openstack endpoint create --region RegionOne   image admin http://controller:9292
  1. 安装和配置
# yum install openstack-glance -y

配置,修改配置文件/etc/glance/glance-api.conf,在对应分组【[组名]】下添加配置:
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS
[paste_deploy]
flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

初始化数据库:

# su -s /bin/sh -c "glance-manage db_sync" glance

设置开机启动并启动服务:

# systemctl enable openstack-glance-api.service
# systemctl start openstack-glance-api.service
  1. 验证
    公网下载镜像(下载失败可直接使用浏览器下载):
# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

上传镜像到glance服务:

# glance image-create --name "cirros"   --file cirros-0.4.0-x86_64-disk.img   --disk-format qcow2 --container-format bare   --visibility public

查看镜像列表:

# glance image-list

或者

# openstack image list

在这里插入图片描述

验证镜像服务的接入点:

#curl controller:9292

在这里插入图片描述

  1. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/glance/train/install/install-rdo.html
  • 安装mysql时做了安装初始化,将密码设置为无,如有设置密码,连接时请加账号密码。

安装Placement

  1. 数据库创建、创建用户并授权
# mysql
MariaDB [(none)]> CREATE DATABASE placement;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' \
IDENTIFIED BY 'PLACEMENT_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' \IDENTIFIED BY 'PLACEMENT_DBPASS';
  1. 创建服务凭证
# openstack user create --domain default --password-prompt placement

输入密码:PLACEMENT_PASS
确认密码:PLACEMENT_PASS

# openstack role add --project service --user placement admin# openstack service create --name placement   --description "Placement API" placement
  1. 创建服务API接入点
# openstack endpoint create --region RegionOne   placement public http://controller:8778
# openstack endpoint create --region RegionOne   placement internal http://controller:8778
# openstack endpoint create --region RegionOne   placement admin http://controller:8778
  1. 安装和配置
# yum install openstack-placement-api -y

配置,修改配置文件/etc/placement/placement.conf,在对应分组【[组名]】下添加配置:
[placement_database]
connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = PLACEMENT_PASS

配置,修改配置文件/etc/httpd/conf.d/00-placement-api.conf,添加配置:
<Directory /usr/bin>
= 2.4>
Require all granted

<IfVersion < 2.4>
Order allow,deny
Allow from all

初始化数据库:

# su -s /bin/sh -c "placement-manage db sync" placement

设置开机启动并启动服务:

# systemctl restart httpd
  1. 验证
    状态是否正常:
# placement-status upgrade check

在这里插入图片描述

验证接入点:

# curl controller:8778

在这里插入图片描述

  1. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/placement/train/install/install-rdo.html
  • 安装mysql时做了安装初始化,将密码设置为无,如有设置密码,连接时请加账号密码。

相关文章:

OpenStack-train版安装之安装Keystone(认证服务)、Glance(镜像服务)、Placement

安装Keystone&#xff08;认证服务&#xff09;、Glance&#xff08;镜像服务&#xff09;、Placement 安装Keystone&#xff08;认证服务&#xff09;安装Glance&#xff08;镜像服务&#xff09;安装Placement 安装Keystone&#xff08;认证服务&#xff09; 数据库创建、创…...

【九日集训】第九天:简单递归

递归就是自己调用自己&#xff0c;例如斐波那契数列就是可以用简单递归来实现。 第一题 172. 阶乘后的零 https://leetcode.cn/problems/factorial-trailing-zeroes/description/ 这一题纯粹考数学推理能力&#xff0c;我这种菜鸡看了好久都没有懂。 大概是这样的思路&#x…...

Prime 1.0

信息收集 存活主机探测 arp-scan -l 或者利用nmap nmap -sT --min-rate 10000 192.168.217.133 -oA ./hosts 可以看到存活主机IP地址为&#xff1a;192.168.217.134 端口探测 nmap -sT -p- 192.168.217.134 -oA ./ports UDP端口探测 详细服务等信息探测 开放端口22&#x…...

Java 如何正确比较两个浮点数

看下面这段代码&#xff0c;将 d1 和 d2 两个浮点数进行比较&#xff0c;输出的结果会是什么&#xff1f; double d1 .1 * 3; double d2 .3; System.out.println(d1 d2);按照正常逻辑来看&#xff0c;d1 经过计算之后的结果应该是 0.3&#xff0c;最后打印的结果应该是 tru…...

Qt 如何操作SQLite3数据库?数据库创建和表格的增删改查?

# 前言 项目源码下载 https://gitcode.com/m0_45463480/QSQLite3/tree/main # 第一步 项目配置 平台:windows10 Qt版本:Qt 5.14.2 在.pro添加 QT += sql 需要的头文件 #include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include &…...

【Hadoop】分布式文件系统 HDFS

目录 一、介绍二、HDFS设计原理2.1 HDFS 架构2.2 数据复制复制的实现原理 三、HDFS的特点四、图解HDFS存储原理1. 写过程2. 读过程3. HDFS故障类型和其检测方法故障类型和其检测方法读写故障的处理DataNode 故障处理副本布局策略 一、介绍 HDFS &#xff08;Hadoop Distribute…...

【Python-随笔】使用Python实现屏幕截图

使用Python实现屏幕截图 环境配置 下载pyautogui包 pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/下载OpenCV包 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/下载PyQT5包 pip install PyQt5 -i https://pypi.tuna.tsi…...

Sun Apr 16 00:00:00 CST 2023格式转换

Date date new Date(); log.info("当前时间为:{}",date); //yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); String dateTime s…...

使用mongodb实现简单的读写操作

本文适合初学者&#xff0c;特别是刚刚安装了mongodb数据库的朋友&#xff0c;或在atlas刚拿到免费集群的朋友。 拿到数据库&#xff0c;心情很激动&#xff0c;手痒难耐。特别想向数据库插入几条数据库试试。即使是深夜完成了安装&#xff0c;也忍不住想去完成这些操作。看到…...

C语言实现Cohen_Sutherland算法

前提简要&#xff1a; 算法简介&#xff1a; 编码算法是最早、最流行的线段裁剪算法&#xff0c;该算法采用区域检验的方法&#xff0c;能够快速有效地判断一条线段与裁剪窗口的位置关系&#xff0c;对完全接受或完全舍弃的线段无需求交&#xff0c;即可直接识别。 算法思想&…...

MySQL进阶_EXPLAIN重点字段解析

文章目录 第一节.准备1.1 版本信息1.2 准备 第二节.type2.1 system2.2 const2.3 eq_ref2.4 ref2.5 ref_or_null2.6 index_merge2.7 unique_subquery2.8 range2.9 index2.10 all 第三节. Extra3.1 No tables used3.2 No tables used3.3 Using where3.4 No matching min/max row3…...

视图层与模板层

视图层 1 视图函数 一个视图函数&#xff0c;简称视图&#xff0c;是一个简单的Python 函数&#xff0c;它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容&#xff0c;一个重定向&#xff0c;一个404错误&#xff0c;一个XML文档&#xff0c;或者一张图片. . . 是…...

MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)

目录 表结构准备 插入数据触发器 代码 测试 修改数据触发器 代码 测试 删除数据触发器 代码 测试 通过触发器记录 tb_user 表的数据变更日志&#xff0c;将变更日志插入到日志表user_logs中&#xff0c;包含增加&#xff0c;修改&#xff0c;删除。 表结构准备 根据…...

快速创建桌面端(electron-egg)

介绍 | electron-egg electron-egg: 一个入门简单、跨平台、企业级桌面软件开发框架。 electron-egg是一个基于Electron和Egg.js的框架&#xff0c;可以用于快速构建跨平台的桌面应用程序。 1.兼容平台&#xff1a;electron-egg可以在Windows、MacOS和Linux等多个平台上运行…...

docker配置redis插件

docker配置redis插件 运行容器redis_6390 docker run -it \ --name redis_6390 \ --privileged \ -p 6390:6379 \ --network wn_docker_net \ --ip 172.18.12.19 \ --sysctl net.core.somaxconn1024 \ -e TIME_ZONE"Asia/Shanghai" -e TZ"Asia/Shanghai"…...

前端入口教程_web01

web标准 记得看&#xff01; html&#xff1a;表示整个页面 head&#xff1a; titile&#xff1a; body&#xff1a; 常用标签 1.标题标签 2.段落标签 3.换行标签 4.文本格式化标签 5. 和 标签 6.图像标签 相对路径–用来插自己本地的图片 #### 绝对路径–用来插网上找的图…...

Win7 SP1 x64 Google Chrome 字体模糊

1 打开 Google Chrome &#xff0c;地址栏输入 chrome://version/ &#xff0c;字体模糊。 2 Microsoft Update Catalog 搜索更新 kb2670838&#xff0c;下载&#xff0c;安装&#xff0c;重启电脑。 3 打开 Google Chrome&#xff0c;地址栏输入 chrome://version/ &#xff0…...

read()之后操作系统都干了什么

首先说明三个参数 file文件 buff从内存中开辟一段缓冲区用来接收读取的数据 size表示这个缓冲区的大小 有关file的参数&#xff1a; 状态&#xff1a;被打开 被关闭权限&#xff1a;可读可写最重要的是inode: 他包含了 文件的元数据(比如文件大小 文件类型 文件在访问前需要加…...

YoloV8改进策略:Swift Parameter-free Attention,无参注意力机制,超分模型的完美迁移

摘要 https://arxiv.org/pdf/2311.12770.pdf https://github.com/hongyuanyu/SPAN SPAN是一种超分网络模型。SPAN模型通过使用参数自由的注意力机制来提高SISR的性能。这种注意力机制能够增强重要信息并减少冗余,从而在图像超分辨率过程中提高图像质量。 具体来说,SPAN模…...

Python----练习:使用面向对象实现报名系统开发

第一步&#xff1a;分析哪些动作是由哪些实体发出的 学生提出报名 学生提供相关资料 学生缴费 机构收费 教师分配教室 班级增加学生信息 于是&#xff0c;在整个过程中&#xff0c;一共有四个实体&#xff1a;学生、机构、教师、班级&#xff01;在现实中的一个具体的实…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中&#xff0c;用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例&#xff0c;介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单&#xff0c;执行相应操作&#xff0c;并提供平滑的滚动动画效果。 本文设计了一个…...

2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版

1.题目描述 2.思路 当前的元素可以重复使用。 &#xff08;1&#xff09;确定回溯算法函数的参数和返回值&#xff08;一般是void类型&#xff09; &#xff08;2&#xff09;因为是用递归实现的&#xff0c;所以我们要确定终止条件 &#xff08;3&#xff09;单层搜索逻辑 二…...

Git 命令全流程总结

以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结&#xff0c;按操作场景分类整理&#xff1a; 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…...

Python网页自动化测试,DrissonPage库入门说明文档

&#x1f6f0;️ 基本逻辑​ 操作浏览器的基本逻辑如下&#xff1a; 创建浏览器对象&#xff0c;用于启动或接管浏览器获取一个 Tab 对象使用 Tab 对象访问网址使用 Tab 对象获取标签页内需要的元素对象使用元素对象进行交互 除此以外&#xff0c;还能执行更为复杂的操作&am…...