在控制节点上执行

controllerHost='controller'
MYSQL_PASSWD='m4r!adbOP'
RABBIT_PASSWD='0penstackRMQ'
ADMIN_PASSWD='Ideal123!'
DEMO_PASSWD='Ideal123!'
KEYSTONE_PASSWD='keystone1234!'

1.创建数据库

mysql -uroot -p${MYSQL_PASSWD} << EOF
     DROP DATABASE IF EXISTS keystone;
     CREATE DATABASE keystone;
     GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${KEYSTONE_PASSWD}';
     GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${KEYSTONE_PASSWD}';
EOF

2.安装keystone组件

yum -y install openstack-keystone httpd mod_wsgi mod_ssl  python2-PyMySQL

3.配置keystone访问数据库

openstack-config --set /etc/keystone/keystone.conf database connection "mysql+pymysql://keystone:${KEYSTONE_PASSWD}@${controllerHost}/keystone"

4.配置keystone使用fernet密钥

openstack-config --set /etc/keystone/keystone.conf token provider fernet

5.配置keystone监听的IP

sed -i "s/Listen 5000/Listen 0.0.0.0:5000/g" /etc/httpd/conf.d/wsgi-keystone.conf
sed -i "s/*:5000/0.0.0.0:5000/g" /etc/httpd/conf.d/wsgi-keystone.conf

6.配置keystone使用WSGI启动

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

7.初始化fernet密钥

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

8.初始化数据库

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

9.初始化keystone服务

keystone-manage bootstrap --bootstrap-password ${ADMIN_PASSWD}  --bootstrap-admin-url http://${controllerHost}:35357/v3/  --bootstrap-internal-url http://${controllerHost}:5000/v3/   --bootstrap-public-url http://${controllerHost}:5000/v3/   --bootstrap-region-id RegionOne

10.启动keystone服务

systemctl enable httpd.service && systemctl restart httpd.service && systemctl status httpd.service

11.创建admin环境脚本

cat << EOF > /root/admin-openrc
export OS_AUTH_URL=http://${controllerHost}:5000/v3
export OS_IDENTITY_API_VERSION=3
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_PASSWD}
EOF

13.创建user角色

source /root/admin-openrc
openstack role create user

14.创建service项目

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

安装keystone的更多相关文章

  1. CentOS 7部署OpenStack(二)—安装keystone服务

    1.创建数据库 [root@controller ~]# mysql -u root -p [root@controller ~]# CREATE DATABASE keystone; [root@c ...

  2. OpenStack:安装Keystone

    >安装Keystone1. 安装# apt-get install keystone2. 创建dbcreate database keystone;grant all privileges on ...

  3. 安装keystone时创建用户失败

    系统:centos7.3 版本:openstack ocata 1.问题描述 安装keystone在创建用户时报错: The request you have made requires authen ...

  4. OpenStack Train版-2.安装keystone身份认证服务

    安装 keystone 认证 mysql -uroot create database keystone; grant all privileges on keystone.* to 'keyston ...

  5. OpenStack 安装 Keystone

    OpenStack 安装 Keystone 本篇主要记录一下 如何安装 openstack的 第一个组件 keystone 认证授权组件 openstack 版本 我选的是queens 版本 1.Op ...

  6. OpenStack基础组件安装keystone身份认证服务

    域名解析 vim /etc/hosts 192.168.245.172 controller01 192.168.245.171 controller02 192.168.245.173 contro ...

  7. OpenStack Keystone安装部署流程

    之前介绍了OpenStack Swift的安装部署,采用的都是tempauth认证模式,今天就来介绍一个新的组件,名为Keystone. 1. 简介 本文将详细描述Keystone的安装部署流程,并给 ...

  8. openstack Q版部署-----keystone认证服务安装配置(3)

    一.新建数据库及用户(控制节点) 登录数据库,创建db以及用户: CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'ke ...

  9. keystone 安装随笔

    keystone 代码库 git clone https://git.openstack.org/openstack/keystone.git cd keystone keystone配置文件 etc ...

随机推荐

  1. VSS使用技巧

    理由很简单:迁出锁定!之所以强调这个,是因为这方面吃过的亏太多,我举几个例子:1.比如两个程序员增加了同一个功能,但是实现方法不同,比如甲:func1,乙 func2,两者代码也不一样第二个人在迁入代 ...

  2. struts2模糊查询

    dao层 public interface DimDao { //一个条件 public List<User> userdim(User user); //两个条件且关联表格 public ...

  3. qs.stringify()与JSON.stringify()区别

    qs.stringify.JSON.stringify虽然都是序列化,但他俩却不是一个东西. qs是nodejs的一个模块 JSON.stringify是js自带的方法,是将json对象转换为json ...

  4. Map遍历效率 : entrySet > keySet

     1    //entrySet()  2     for (Entry<String, String> entry : map.entrySet()) {  3         Stri ...

  5. Python3-元祖

    # Tuple(元组) # 元组(tuple)与列表类似,不同之处在于元组的元素不能修改.元组写在小括号(())里,元素之间用逗号隔开. # 元组中的元素类型也可以不相同 tuple = ('abcd ...

  6. 1、docker简介:课程定位、是什么、能干什么、下载

    1.前提知识和定位 2.是什么 1.为什么会有docker出现 环境配置如此麻烦,换一台机器,就要重来一次,费力费时.很多人想到,能不能从根本上解决问题,软件可以带环境安装? 也就是说,安装的时候,把 ...

  7. CodeForces 839D - Winter is here | Codeforces Round #428 (Div. 2)

    赛后听 Forever97 讲的思路,强的一匹- - /* CodeForces 839D - Winter is here [ 数论,容斥 ] | Codeforces Round #428 (Di ...

  8. 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等

    [主要知识] 浏览器设备信息:navigator.userAgent(本文中主要用到知识) 浏览器版本信息:navigator.appVersion var ua = navigator.userAg ...

  9. joxj 模拟赛 2019年9月3日

    比赛题目来源:2018qbxt合肥Day1 T1 最小公倍数 题意:已知正整数n,求n与246913578的最小公倍数,结果对1234567890取模 数据范围:1<=n<=1010000 ...

  10. 【luogu2668斗地主】模拟

    题目描述: 输入格式: 输出格式: 输入样例: 1: 1 8 7 4 8 4 9 1 10 4 11 1 5 1 1 4 1 1 2: 1 17 12 3 4 3 2 3 5 4 10 2 3 3 1 ...