OpenStack Victoria版——3.控制节点-Keystone认证服务组件

2024-09-08 10:32

本文主要是介绍OpenStack Victoria版——3.控制节点-Keystone认证服务组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3.控制节点-Keystone认证服务组件

更多步骤:OpenStack Victoria版安装部署系列教程

OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。


文章目录

  • 创建keystone数据库并授权
    • 1.登录进入数据库
    • 2.创建keystone数据库并授权
  • keystone相关软件安装与配置
    • 1.安装keystone相关软件包
    • 2.修改/etc/keystone/keystone.conf文件
    • 3.初始化同步keystone数据库
    • 4.初始化Fernet令牌库
    • 5.初始化引导keystone认证服务
    • 6.配置启动Apache Http服务
    • 7.创建环境变量脚本
    • 8.创建keystone的一般实例
  • 验证操作keystone是否安装配置成功
  • keystone安装完毕

创建keystone数据库并授权

1.登录进入数据库

使用mysql数据库的root账户登录,密码为控制节点环境准备时初始化mysql数据设置的密码为root。

mysql -u root -proot

2.创建keystone数据库并授权

创建keystone数据库,设置密码为111111授予对keystone数据库的访问权限,刷新退出数据库.

CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY '111111';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY '111111';flush privileges;
show databases;
select user,host from mysql.user;
exit

keystone相关软件安装与配置

1.安装keystone相关软件包

如果要使用https访问,需要安装mod_ssl

Install and configure Keystone:For RHEL8/Centos8 and above install package python3-mod_wsgi.

dnf install openstack-keystone httpd python3-mod_wsgi -y

2.修改/etc/keystone/keystone.conf文件

由于文件内容有2700行左右,备注内容过多,实际有效配置信息只有40行左右,所有为了方便修改文件,可以先备份该文件,然后去掉注释信息

cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak
egrep -v "^$|^#" /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
vim /etc/keystone/keystone.conf

为了提高修改文件效率,减少配置错误率,我们可以使用配置工具,通过命令修改文件,先安装软件

dnf install crudini -y
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:111111@controller/keystone
crudini --set /etc/keystone/keystone.conf token provider fernet

检查配置结果

grep '^[a-z]' /etc/keystone/keystone.conf

keystone不需要启动,通过http服务进行调用

3.初始化同步keystone数据库

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

同步完成,进行连接测试

mysql  -ukeystone -p111111 -e "use keystone;show tables;"
mysql -h10.0.0.11 -ukeystone -p111111 -e "use keystone;show tables;"|wc -l

4.初始化Fernet令牌库

Initialize Fernet key repositories,关于Fernet令牌的介绍Keystone Fernet tokens

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

5.初始化引导keystone认证服务

keystone-manage bootstrap --bootstrap-password 111111   --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

6.配置启动Apache Http服务

编辑vim /etc/httpd/conf/httpd.conf文件,添加如下信息

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
sed -i "s/#ServerName www.example.com:80/ServerName controller/" /etc/httpd/conf/httpd.conf

创建/usr/share/keystone/wsgi-keystone.conf文件链接

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

启动httpd并配置开机自启动

systemctl start httpd && systemctl enable httpd
netstat -anptl|grep httpd
systemctl list-unit-files |grep httpd.service

至此,http服务配置完成。

7.创建环境变量脚本

#touch admin-openrc.sh
#vim admin-openrc.sh 

Create OpenStack client environment scripts,上面使用环境变量和命令选项的组合通过“openstack”客户端与身份认证服务交互。
为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件.

cat > /root/admin-openrc.sh <<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=111111
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF

附:常用的openstack管理命令,需要应用管理员的环境变量

# 查看keystone实例相关信息
openstack endpoint list
openstack project list
openstack user list# 删除endpoint
openstack endpoint delete [ID]

8.创建keystone的一般实例

source ./admin-openrc.sh 
openstack catalog list

(1)【非必须】 创建一个名为example的域

创建域,程序中已存在默认域,此命令只是一个创建域的例子,可以不执行

#openstack domain create --description "An Example Domain" example

(2)【必须】 创建名为service的项目,也叫做租户,在default域中。

openstack project create --domain default --description "Service Project" service

(3)【非必须】 创建名为myproject项目,在default域中。

#openstack project create --domain default --description "Demo Project" myproject

(4)【非必须】 创建myuser用户,在default域中。
以下命令会在local_user表增加myuser用户。使用–password选项为直接配置明文密码,使用–password-prompt选项为交互式输入密码,直接创建用户和密码.

#openstack user create --domain default --password-prompt myuser
# 执行命令后需要设置用户密码,输入两次相同的密码

(5)【非必须】 创建myrole角色,在role表中。

# openstack role create myrole

(6)**【非必须】**将myrole角色添加到myproject项目和myuser用户

#openstack role add --project myproject --user myuser myrole

(7)查看keystone实例相关信息

source admin-openrc.sh 
openstack role list
openstack endpoint list
openstack project list
openstack user list

验证操作keystone是否安装配置成功

验证KeyStone服务是否正常

openstack token issue

在这里插入图片描述

出现如以上信息就说明KeyStone配置完成啦!

1.去除环境变量
关闭临时认证令牌机制,获取 token,验证keystone配置成功

source admin-openrc.sh 
unset OS_AUTH_URL OS_PASSWORD
env |grep OS_ 

2.作为管理员用户去请求一个认证的token
测试是否可以使用admin账户进行登陆认证,请求认证令牌

openstack --os-auth-url http://controller:5000/v3   --os-project-domain-name Default --os-user-domain-name Default   --os-project-name admin --os-username admin token issue
#输入密码:111111

keystone安装完毕

至此,控制节点的keystone认证服务组件完成安装与配置,使用VMware虚拟机的话,现在可以关机做快照。

poweroff 

这篇关于OpenStack Victoria版——3.控制节点-Keystone认证服务组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147861

相关文章

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺