三、搭建OpenStack(M版)之Keystone组件(重要)

这篇具有很好参考价值的文章主要介绍了三、搭建OpenStack(M版)之Keystone组件(重要)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本实验环境为windows11系统,Vmware pro 15.5,虚拟机为Ubuntu16.04 server

1、创建keystone数据库

进入数据库并创建

mysql -uroot -p1234
CREATE DATABASE keystone;

赋予数据库权限,‘1234’为keystone自定义密码

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '1234';

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 2、安装keystone组件

禁用Keystone服务在安装完成后自启

echo "manual" > /etc/init/keystone.override

安装软件包,不出意外的话

apt-get install keystone apache2 libapache2-mod-wsgi

3、生成随机值作为临时令牌'token'

生成的令牌一定要保存下来,后续配置会使用

openssl rand -hex 10

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

4、配置keystone服务

vim /etc/keystone/keystone.conf

在[DEFAULT]里添加临时令牌(填自己的临时令牌)

admin_token = 011068c32d724dba0971

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 在[database]里添加数据库,大约在550行,查询非编辑状态输入  /[data

1234是创建keystone数据库时设置的密码

connection = mysql+pymysql://keystone:1234@controller/keystone

注意一定要把之前的connection注释掉 只能有一个 

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 在[database]里添加provider,大约在1987行

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

同步数据库和初始化Fernet令牌

su -s /bin/sh -c "keystone-manage db_sync" keystone
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

5、配置Apache服务

在apache2.conf文件中添加主机名,在文件中靠前的位置添加该项

ServerName controller

配置虚拟主机,新创建文件wsgi-keystone.conf

vim /etc/apache2/sites-available/wsgi-keystone.conf

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

文件内容如下:

Listen 5000
Listen 35357
 
<VirtualHost *:5000>
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/apache2/keystone.log
    CustomLog /var/log/apache2/keystone_access.log combined
 
    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>
 
<VirtualHost *:35357>
    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-admin
    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/apache2/keystone.log
    CustomLog /var/log/apache2/keystone_access.log combined
 
    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

启用虚拟机并重启Apache服务

ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
service apache2 restart

说明:
service apache2 restart 如果重启失败
重启时出现systemd[1]: Failed to start LSB: Apache2 web server https://stackoverflow.com/questions/35118773/systemd1-failed-to-start-lsb-apache2-web-server
解决办法:

sudo apt-get purge apache2 
sudo apt-get install apache2

再重启service apache2 restart

删除默认的SQLite数据库

rm -f /var/lib/keystone/keystone.db

6、创建服务实体和API访问端点

配置身份认证令牌'token',export OS_TOKEN为先前生成的临时令牌,controller为主机名

export OS_TOKEN=011068c32d724dba0971
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 创建`identity`服务实体(这一步一般都会报错,具体看哪个错误)

openstack service create --name keystone --description "OpenStack Identity" identity

如果报错:

The program 'openstack' can be found in the following packages:

 * python-openstackclient
 * python3-openstackclient

解决方法:

apt-get install python-openstackclient

如果报500错误:

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 (我就是第二个错误)

可以去/var/log/keystone 下面去查看错误日志
一般是数据库字符集的错误解决办法如下:

1、删除keystone的数据库并重启虚拟机

mysql -uroot -p1234 -e "DROP DATABASE IF EXISTS keystone;"
init 6

2、重新安装keystone数据库

进入数据库
mysql -uroot -p1234

创建数据库
CREATE DATABASE keystone;

赋予数据库权限,<KEYSTONE_DBPASS>为自定义密码  
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '1234';

退出数据库
exit;

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 3、同步数据库

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

4、创建`identity`服务实体

openstack service create --name keystone --description "OpenStack Identity" identity

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 以上就是解决创建`identity`服务实体报500错误方法

创建`identity`服务的访问端点`endpoint`

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

7、创建域(domain),项目(projects),用户(users)与角色(roles)

创建域`default`

openstack domain create --description "Default Domain" default

报错没有这个命令配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 原因:环境变量用的是OpenStack Identity API v2.0,这就是问题的关键,domain子命令不支持OpenStack Identity API v2.0,支持OpenStack Identity API v3.0,直接不管

创建项目、用户、角色`admin`

openstack project create --domain default --description "Admin Project" admin
openstack user create --domain default --password-prompt admin
openstack role create admin

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 为项目`admin`与用户`admin`添加角色`admin`

openstack role add --project admin --user admin admin

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 创建项目`service`

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

openstack project create --domain default \
description "Demo Project" demo

openstack user create --domain default \
password-prompt demo

openstack role create user

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 为项目`demo`与用户`demo`添加角色`user`

openstack role add --project demo --user demo user

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 8、测试操作

删除文件keystone-paste.ini中的admin_token_auth

vim /etc/keystone/keystone-paste.ini

 分别从[pipeline:public_api],[pipeline:admin_api] 和 [pipeline:api_v3] 中移除 admin_token_auth

把原本的注释掉,直接复制以下内容

[pipeline:public_api]
pipeline = cors sizelimit url_normalize request_id build_auth_context token_auth json_body ec2_extension public_service
[pipeline:admin_api]
pipeline = cors sizelimit url_normalize request_id build_auth_context token_auth json_body ec2_extension s3_extension admin_service
[pipeline:api_v3]
pipeline = cors sizelimit url_normalize request_id build_auth_context token_auth json_body ec2_extension_v3 s3_extension service_v3

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

移除临时令牌`token`与访问URL

unset OS_TOKEN OS_URL

使用`amdin`用户请求令牌`token`,会提示输入密码,我配置的是1234

openstack --os-auth-url http://controller:35357/v3 \
os-project-domain-name default --os-user-domain-name default \
os-project-name admin --os-username admin token issue

 使用`demo`用户请求令牌(token)

openstack --os-auth-url http://controller:5000/v3 \
os-project-domain-name default --os-user-domain-name default \
os-project-name demo --os-username demo token issue

 为`admin`用户创建脚本,在根目录新建openstack文件夹和admin-openrc文件

mkdir /openstack
vim /openstack/admin-openrc
文件内容:
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
# 自己设置的密码(1234)
export OS_PASSWORD=1234
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

为`demo`用户创建脚本,新建demo-openrc文件

vim /openstack/demo-openrc
文件内容:
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
# 自己设置的密码(1234)
export OS_PASSWORD=1234
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 使用脚本

# 使用admin-openrc脚本
source /openstack/admin-openrc
# 使用demo-openrc脚本
source /openstack/demo-openrc

请求令牌`token`

openstack token issue

配置keystone应用环境,OpenStack云平台搭建,openstack,运维,ubuntu,云计算

 文章来源地址https://www.toymoban.com/news/detail-763325.html

到了这里,关于三、搭建OpenStack(M版)之Keystone组件(重要)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenStack云计算(-) 简介与部署Keystone

    什么是云计算:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务) 云计算所包含的几个层次服务: SaaS ( Software as a Service ) :把在线软件作为一种服务。 Paas ( Platform as a S

    2024年02月03日
    浏览(42)
  • openstack详解(十三)——Glance Keystone设置与启动

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Glance Keystone设置与启动。 在上文openstack详解(十二)——Glance安装与初步配置中,我们进行了Glance的安装与数据库配置和初始化。今天,我们在该文的基础上,进行Glance的Keystone设置,并启动Glance服务。 首先,我们先来

    2024年02月12日
    浏览(38)
  • openstack详解(八)——Keystone域、项目、用户和角色的创建

    今天继续给大家介绍Linux运维相关知识,本文主要内容是openstack Keystone域、项目、用户和角色的创建。 在进行Keysrtone的配置之前,我们需要先创建环境变量,这样我们才能成功连接到Keystone中。 执行命令: 可以设置这三个环境变量。其中,第一个OS_TOKEN是我们在Keystone配置文

    2024年02月02日
    浏览(36)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)

    keystone是openstack的关键必选组件之一,其作用是提供身份认证服务,所有的身份认证信息都是存储在controller节点的数据库内。 具体的关于keystone的介绍可以参见官方文档: OpenStack Docs: Identity service overview 社区版openstack 服务组件的安装顺序: 以上图的文档顺序安装,第一个是

    2024年02月06日
    浏览(45)
  • OpenStack介绍说明、OpenStack架构说明、OpenStack核心服务详细说明【keystone,nova,cinder,neutron...】、OpenStack创建VM,服务间交互示例

    2006年亚马逊推出AWS,正式开启云计算的新纪元 2010年7月美国国家航空航天局(NASA)与Rackspace合作,共同宣布OpenStack开放源码计划,由此开启了属于OpenStack的时代 OpenStack从诞生之初对标AWS,一直在向AWS学习,同时开放接口去兼容各种AWS服务 OpenStack是什么? OpenStack是一种云操

    2024年01月15日
    浏览(56)
  • Keystone组件详解

    目录 一、Keystone的主要功能模块 二、Keystone的基本概念介绍 三、Keystone的管理层次结构 四、Keystone交互流程 一、用户是如何来与Keystone交互的? 二、keystone认证流程(与其他服务的交互)

    2023年04月11日
    浏览(27)
  • 【Opentack项目实战——Keystone、Glance、Nova、Neutron、Horizon、Cinder搭建】

    基础是虚拟化、前身是分布式计算 定义 美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提

    2024年02月08日
    浏览(36)
  • keystone 安装以及常见问题

    一 环境信息 安装环境Centos7  安装版本Train 其他版本的参考官方文档,道理是一样的。一定要看官方文档,,openstack更新很快,网上资料很多,大部分都是过时的。官方文档为主,其他为辅。 二参考文档 1. keystone wiki   Keystone - OpenStack 里边有DOC和源码的链接,这个入口比较

    2024年02月13日
    浏览(52)
  • 安装KeyStone服务(在控制节点上操作)

    接着上次的OpenStack-T的安装 环境为:CentOS 7 OpenStack-T keystone官网文档:OpenStack Docs: Install and configure 详细内容可以看此视频:openstack-T版搭建运维全套视频_哔哩哔哩_bilibili 下面的链接是openstack-t的安装链接: CSDN https://mp.csdn.net/mp_blog/creation/editor/123702147 ps:在安装和配置身份服

    2023年04月17日
    浏览(22)
  • 登录oppenstack界面报错Unable to establish connection to keystone endpoint

        首先这个问题的前提是所有openstack搭建完毕,环境变量确定都已经生效。防火墙也已经关闭。 关闭keystone节点的iptables 重启httpd服务,即可解决

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包