返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >OpenStack 安装 Keystone的过程详解
  • 247
分享到

OpenStack 安装 Keystone的过程详解

2024-04-02 19:04:59 247人浏览 独家记忆
摘要

目录OpenStack 安装 Keystone1.OpenStack 官网2.KeyStone 概述3.安装 OpenStack packages4.network Time Pro

OpenStack 安装 Keystone

本篇主要记录一下 如何安装 openstack的 第一个组件 keystone 认证授权组件

openstack 版本 我选的是queens 版本

1.OpenStack 官网

看了一下官网 文档还是蛮全的,我采用 Centos7 来做实验

https://docs.openstack.org/keystone/queens/install/

2.KeyStone 概述

Keystone 是openstack 体系下面的认证、授权、和 目录服务管理 的一个重要的组件,keystone 通常是我们接触openstack 的第一个组件,它可以管理其他openstack service ,每个服务都可以有一个或者多个endpoints,并且 endpoint 被分为 3种类型: admin 、internal、public, 通过名称我们也能大概知道 就是其他服务所暴露的终端地址 给不通场景使用,public 一般是对外的 internal 一般是服务之间的通信地址,admin 一般管理员操作的地址,并且 endpoint 具有 region 类型,既可以对 endpoint 进行局域划分 ,我们默认使用RegionOne

具体看 https://docs.openstack.org/keystone/queens/install/

3.安装 OpenStack packages

前置 需要准备一个 centos7 系统

1.Upgrade the packages on all nodes:

yum upgrade

注意:If the upgrade process includes a new kernel, reboot your host to activate it.

2.Install the appropriate OpenStack client for your version.

# yum install python-openstackclient

For CentOS 7 and RHEL 7

# yum install Python-openstackclient

For CentOS 8 and RHEL 8

# yum install python3-openstackclient

3.RHEL and CentOS enable SElinux by default. Install the openstack-selinux package to automatically manage security policies for OpenStack services:

# yum install openstack-selinux

​或者通过手动关闭selnux

4.Network Time Protocol (NTP ) (必须

openstack 各个组件之间 需要进行频繁的调用,所以他们的 时间一点要保持一致,所以这个 NTP 必须要进行处理

centos7 已经推荐使用 chrony 了 ,我看 openstack 官方文档也是这样操作的

4.1 安装 chrony

yum -y install chrony

4.2 编辑/etc/chrony.conf

#注释 这4个
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#添加阿里云 ntp 服务器
server ntp1.aliyun.com iburst 
#允许同步的网段 我的是这个,根据情况自己配置
allow 192.168.56.0/24

4.3 启动 chrony

注意是 chronyd.service

systemctl enable chronyd.service
systemctl start chronyd.service

4.4 执行同步 chronyc sources -v

4.5 其他nodes 节点也需要安装 chrony

nodes 其他节点 直接同步 上面的 controller节点即可

server 192.168.56.30  

注意: 由于chrony 使用 udp 端口 123 和 323 ,所以 注意关闭 防火墙,或者把端口打开!

5. 安装 mariadb

由于 keystone 中相关的 services 信息 都需要存储的地方 ,所以 需要安装 mariadb ,不过也支持其他

5.1 Install the packages: 安装 mariadb 包

# yum install mariadb mariadb-server python2-Pymysql

5.2 编辑 /etc/my.cnf.d/openstack.cnf

Create and edit the /etc/my.cnf.d/openstack.cnf file (backup existing configuration files in /etc/my.cnf.d/ if needed) and complete the following actions:

  • Create a [mysqld] section, and set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network. Set additional keys to enable useful options and the UTF-8 character set:
[mysqld]
bind-address = 192.168.56.30
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

​ 注意 在 /etc/my.cnf.d/openstack.cnf 下面进行编辑 然后 bind-address 可以指定为 controller 节点ip

5.3 启动 mariadb 服务

systemctl enable mariadb.service
systemctl start mariadb.service

5.4 安全设置向导

mysql_secure_installation  #一步步配置即可

6.安装 rabbitmq (本篇可选,由于本篇只是安装keystone)

OpenStack 使用消息队列来协调服务之间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务,包括RabbitMQ,Qpid和ZeroMQ。

6.1 安装 rabbitmq-server

yum install rabbitmq-server

6.2 启动

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

6.3 配置 openstack rabiitmq 用户

rabbitmqctl add_user openstack RABBIT_PASS #注意替换 RABBIT_PASS 密码

6.4 Permit configuration, write, and read access for the openstack user:

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

7. 安装 Keystone 和 必要配置

官网地址:https://docs.openstack.org/keystone/queens/install/index-rdo.html

7.1 配置 mysql

上面已经安装了 mariadb 服务,这里需要开始对它进行配置

Before you install and configure the Identity service, you must create a database.

使用root用户登录 mysql :

$ mysql -u root -p

创建 keystone database:

MariaDB [(none)]> CREATE DATABASE keystone;

Grant proper access to the keystone database:

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';

​Replace KEYSTONE_DBPASS with a suitable passWord.

7.2 安装 keystone 组件

7.2.1 安装 keystone
yum install openstack-keystone httpd mod_wsgi

安装过程中的报错:

Error: Package: python2-qpid-proton-0.22.0-1.el7.x86_64 (centos-openstack-queens)
Requires: qpid-proton-c(x86-64) = 0.22.0-1.el7
Available: qpid-proton-c-0.14.0-2.el7.x86_64 (extras)
qpid-proton-c(x86-64) = 0.14.0-2.el7
Available: qpid-proton-c-0.17.0-4.el7.x86_64 (centos-openstack-queens)
qpid-proton-c(x86-64) = 0.17.0-4.el7
Available: qpid-proton-c-0.22.0-1.el7.x86_64 (centos-openstack-queens)
qpid-proton-c(x86-64) = 0.22.0-1.el7
Installing: qpid-proton-c-0.35.0-1.el7.x86_64 (epel)
qpid-proton-c(x86-64) = 0.35.0-1.el7
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

包冲突导致的兼容错误单独选定需要的版本进行安装即可

`解决方案:yum install -y python2-qpid-proton-0.22.0-1.el7.x86_64

安装完成后 /etc/keyston 就存在了

7.2.2 编辑 /etc/keystone/keystone.conf连接 mysql
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone 

注意 controller 是你的 本机ip 可以配置掉 /etc/hosts中

7.2.3 token provider
[token]
# ...
provider = fernet
7.2.4 同步 keystone db
su -s /bin/sh -c "keystone-manage db_sync" keystone
7.2.5 初始化 fernet key
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
7.2.6 Bootstrap the Identity service:

注意替换 ADMIN_PASS

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

7.3 配置 Apache Http 服务

7.3.1 编辑 /etc/httpd/conf/httpd.conf
ServerName controller
7.3.2 创建 ln -s

Create a link to the /usr/share/keystone/wsgi-keystone.conf file:

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
7.3.3 启动 httpd
systemctl enable httpd.service
systemctl start httpd.service
7.3.4 暴露账号到环境变量中

为了可以执行 openstack 命令

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS #这个是上面 keystone-manage bootstrap 指定的 
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_api_VERSION=3

8.创建域 项目、用户、角色 等

8.1 创建 域

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

8.2 创建项目

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

8.3 创建角色 关联用户

#创建 用户
openstack user create --domain default   --password ADMIN_PASS myuser
#创建 角色
openstack role create myrole
#为servce 项目指定用户角色
openstack role add --project service --user myuser myrole #为service项目指定用户角色

9.验证 KeyStone 服务

9.1 验证 admin 用户

unset OS_AUTH_URL OS_PASSWORD
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 

9.2 验证 myuser 用户

openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name myservice --os-username myuser token issue

至此 openstack keystone 组件已经安装完成了。。

总结

本篇主要记录一下 openstack queens 版本 keystone 组件的安装过程 被领导催促要学习openstack 我也很无奈。

到此这篇关于OpenStack 安装 Keystone的文章就介绍到这了,更多相关OpenStack 安装 Keystone内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: OpenStack 安装 Keystone的过程详解

本文链接: https://lsjlt.com/news/148995.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • OpenStack 安装 Keystone的过程详解
    目录OpenStack 安装 Keystone1.OpenStack 官网2.KeyStone 概述3.安装 OpenStack packages4.Network Time Pro...
    99+
    2024-04-02
  • openstack-o版安装keystone
    Keustone身份认证组件是openstack项目中默认的身份认证管理系统,所有的服务都需要keystone认证、根据用户的等级分配相应的权限。    那么我们现在...
    99+
    2024-04-02
  • Hadoop的安装过程详解
    本篇内容主要讲解“Hadoop的安装过程详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop的安装过程详解”吧!安装JDK解压jdk压缩包 tar -zxvf&nb...
    99+
    2023-06-03
  • Neo4j安装过程详解
    在安装neo4j之前,需要安装Java JRE,并配置Java开发环境,然后安装neo4j服务。 一、CentOS下安装 1.下载Neo4j 去官网下载最新的neo4j,选择社区版。地址:https://neo4j.com/download...
    99+
    2020-03-30
    Neo4j安装过程详解
  • openstack octavia 简介以及手工安装过程
    openstack octavia 是 openstack lbaas的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用 nove 以及neutron的api生成一台安装好hap...
    99+
    2024-04-02
  • Win10安装dlibGPU过程详解
    安装cmake,命令: pip install cmake 安装VS 选择C++的桌面开发和python开发 给cl.exe配置环境变量。 我的cl.exe目录是:C:\P...
    99+
    2024-04-02
  • Android 应用的安装过程详解
    Android 应用安装过程: 首先一个android项目,然后编译和打包,将.java文件编译为.class,.class编译为.dex,将所有文件打包为一个apk,只编译...
    99+
    2022-06-06
    安装 Android
  • CentOS 7 安装 Jenkins过程详解
    通过 Yum 安装 Jenkins 一、安装 # yum 源导入 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stabl...
    99+
    2022-06-04
    centos 7 安装 jenkins
  • ecshop图文安装过程详解
    ECShop是一款优秀的网店系统平台,这篇文章为大家总结了Ecshop的详细安装图解,和大家分享一下,希望可以帮助到初识Ecshop的朋友! ECShop 的安装非常简单、方便,任何一种编码程序的安装方法都是一样的(即 ...
    99+
    2022-06-12
    ecshop
  • mysql兼mariadb安装过程详解
    mysql兼mariadb下载自己找自己对应的版本:https://dev.mysql.com/downloads/mysql/因为5.5以后都用cmake编译了,所以系统里没有的话,就下个源码的装一下,怎...
    99+
    2024-04-02
  • MySQL5.7.33安装过程图文详解
    目录安装包下载安装配置环境变量检查是否安装成功文章目录 安装包下载安装配置环境变量检查是否安装成功 安装包下载 直接到官网下载 官网地址https://dev.mysql.com/d...
    99+
    2024-04-02
  • 下载安装MySQL过程详解
    目录 一、MySQL下载 1.登入官网下载mysql的安装包 2.下载格式 3.下载完成后为压缩包 4.将 zip 包解压缩 5.在上面图示的文件内,新建 "my.ini" 空文件 6.打开 “my.ini” 文件 二、配置环境变量 1.打...
    99+
    2023-09-01
    mysql 数据库
  • MySql8.023安装过程图文详解(首次安装)
    首先下载安装包Mysql官网下载地址,Mysql是开源的,所以直接下载就行了。 这是下载步骤: 然后选择: 因为个人使用原因,我选择了这个: 下载之后,解压下载得到的安装包放在...
    99+
    2024-04-02
  • linux系统安装msf的过程详解
    还是自己写下安装过程吧! 我的服务器系统是 Aliyun linux 1、下载安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/...
    99+
    2022-06-03
    linux系统安装msf linux 安装msf
  • php调用grpc的安装过程详解
    目录引言需要安装的程序grpc的安装protobuf 安装编译 gRPC PHP 扩展程序grpc_php_plugin 依赖安装在 php.ini 中启用 gRPC 扩展程序引言 ...
    99+
    2024-04-02
  • 安装MySQL的详细过程
    本篇内容主要讲解“安装MySQL的详细过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“安装MySQL的详细过程”吧!在日常开发学习中不可或少的需要用到MySQ...
    99+
    2024-04-02
  • Apache安装的详细过程
    这篇文章主要讲解了“Apache安装的详细过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Apache安装的详细过程”吧!第一步:安装openssl1、解压软件:# tar xvfz op...
    99+
    2023-06-10
  • Nagios的详细安装过程
    这篇文章主要讲解了“Nagios的详细安装过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nagios的详细安装过程”吧!Nagios是一款企业级网络监控系统,它功能之强大,管理之简单,使...
    99+
    2023-06-16
  • mysql下载与安装过程详解
    1:下载MySql  官网下载地址:https://dev.mysql.com/downloads/mysql/  选择对应的下载文件。(我电脑是64位,所以这下载的是64位的下载文件)...
    99+
    2024-04-02
  • Python Tkinter模块安装过程详解
    Python Tkinter模块安装过程详解 Tkinter是Python编程语言中用于创建图形用户界面(GUI)的标准模块。它提供了一组丰富的工具和组件,使开发者能够轻松构建交互式应用程序。在本文中...
    99+
    2023-10-23
    python 开发语言 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作