openstack(二、keystone)

四、认证服务

keystone 安装在 controller 节点,为了提高服务性能,使用 apache 提供WEB请求,由 memcached 来保存 Token 信息
1、安装修改软件包

yum install openstack-keystone httpd mod_wsgi memcached python-memcached openstack-utils python-openstackclient

后面许多命令包含在python-openstackclient openstack-utils里面哦
2、配置keystone
修改keystone配置文件 /etc/keystone/keystone.conf,太长了,还是使用命令吧

openssl rand -hex 10  #生成随机数 ee36fc4faf6a3f1f07b1
openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token ee36fc4faf6a3f1f07b1
openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:keystone@controller/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet
openstack-config --set /etc/keystone/keystone.conf token driver memcache #设置token存放的位置
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone #初始化Fernet keys
chown -R keystone:keystone /etc/keystone #要不然启动是会报没有存放token的目录

3、创建数据库表
同步数据库:注意权限,所以要用su -s 切换到keystone用户下执行

su -s /bin/sh -c "keystone-manage db_sync" keystone
验证数据是否创建成功
mysql -ukeystone -pkeystone
use keystone;
show tables;

4、使用httpd做代理
必须要配置httpd的ServerName,否则keystone服务不能起来

vim /etc/httpd/conf/httpd.conf
ServerName master

链接keystone配置文件,并用apache来代理它:5000 正常的api来访问 35357 管理访问的端口
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
在用openstack-staus时,keystone服务的状态是inactive。
需要做一下服务链接

ln -s /usr/lib/systemd/system/httpd.service /etc/systemd/system/openstack-keystone.service
systemctl daemon-reload
systemctl restart openstack-keystone
openstack-status
#配置启动memcached
systemctl enable memcached
systemctl start memcached
systemctl enable httpd
systemctl start httpd
#查看是否启动
netstat -lntup|grep httpd

5、Bootstrap the Identity service:

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

创建keystone的项目,角色,用户
先配置两个用户的环境(/home目录)

vim admin-openrc.sh 
export OS_TOKEN=ee36fc4faf6a3f1f07b1
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

 vim demo-openrc.sh 
export OS_TOKEN=ee36fc4faf6a3f1f07b1
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=demo
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
##添加执行权限
chmod +x admin-openrc.sh demo-openrc.sh
source admin-openrc.sh #使环境生效

grep -n '^admin_token' /etc/keystone/keystone.conf#ee36fc4faf6a3f1f07b1
export OS_TOKEN =ee36fc4faf6a3f1f07b1
如果报401,token等错误
unset  OS_TOKEN  OS_AUTH_URL
source admin-openrc.sh #使环境生效

创建keystone的项目,角色,用户

openstack service create --name keystone --description "OpenStack Identity" identity  #创建identity项目
openstack project create --domain default --description "Admin Project" admin #创建admin项目
openstack project create --domain default --description "Service Project" service #创建service项目
openstack user create --domain default --password-prompt admin  #创建admin用户
openstack role create admin       #创建admin角色
openstack role add --project admin --user admin admin   #将admin用户,admin项目,admin角色关联起来
-------下面是创建普通用户"demo"--------
openstack project create --domain default --description "Demo Project" demo
openstack user create --domain default --password=demo demo
openstack role create user
openstack role add --project demo --user demo user

6、验证是否正常
检查是否正常:

openstack --os-auth-url http://controller:35357/v3 --os-project-domain-id default --os-user-domain-id default --os-project-name admin --os-username admin --os-auth-type admin token issue
查看api接口
openstack endpoint list
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容