OpenStack—M Keystone

一、Keystone数据库操作

Controller节点

# mysql -uroot -p123456
MariaDB [(none)]> create database keystone;
(创建keystone数据库)
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'%' identified by '123456';
(为数据库的Keystone用户授予所有权限并支持远程登录)
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '123456';
(为数据库的Keystone用户授予所有权限并支持本地登录)
MariaDB [(none)]> exit

在这里插入图片描述

二、安装并配置Keystone

# yum install -y openstack-keystone httpd mod_wsgi

生成一个随机值作为初始配置期间的管理令牌:

# openssl rand -hex 10
147d2a4150e44cb2c536

编辑/etc/keystone/keystone.conf
做如下配置与修改,并使用刚刚生成的随机值替换:
:在vi编辑器中使用 冒号+反斜杠+搜索内容 去找到以搜索内容开头的地方,按N键可以继续跳转到以你搜索内容相同的其他地方)
在这里插入图片描述
# vi /etc/keystone/keystone.conf
[DEFAULT]
admin_token = 147d2a4150e44cb2c536
配置数据库连接:
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
配置provider:
[token]
provider = fernet
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同步数据库:

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

在这里插入图片描述
同步成功后无返回值
注:进入Keystone数据库查看是否有数据表,验证是否同步成功。
在这里插入图片描述
初始化密匙:

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

三、配置Apache服务

编辑/etc/httpd/conf/httpd.conf文件
找到ServerName,去掉注释符号#,将www.example.com:80改为controller

# vi /etc/httpd/conf/httpd.conf
ServerName controller

在这里插入图片描述
将/opt/mitaka/目录下的wsgi-keystone.conf文件拷贝至/etc/httpd/conf.d/

# cp -rvf /opt/mitaka/wsgi-keystone.conf /etc/httpd/conf.d/

在这里插入图片描述

# systemctl enable httpd.service
# systemctl start httpd.service

四、创建Service和API Endpoints

1.	配置身份认证令牌
# export OS_TOKEN=147d2a4150e44cb2c536
2.配置端点URL
# export OS_URL=http://controller:35357/v3
3.配置API版本
# export OS_IDENTITY_API_VERSION=3
4.为Keystone本身创建服务
# openstack service create --name keystone --description "OpenStack Identity" identity

在这里插入图片描述
然后创建Keystone身份认证服务的端点:
身份认证服务管理了一个与环境相关的API端点目录,使用这个目录来决定如何与创建环境中的其他服务进行通信。
Openstack使用三个API端点代表每种服务:admin、internal和public,默认情况下,管理API端点允许修改用户和租户,而公共和内部API不允许这些操作,此次安装为所有端点和默认“RegionOne”区域都使用管理网络。

1.	创建公共端点
# openstack endpoint create --region RegionOne identity public http://controller:5000/v3
 
2.	创建外部端点
# openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
 
3.	创建管理端点
# openstack endpoint create --region RegionOne identity admin http://controller:35357/v3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、创建domain、project、user、role

1.创建默认(defaultt)的domain

# openstack domain create --description "Default Domain" default

在这里插入图片描述
2.创建名字为admin的project

# openstack project create --domain default --description "Admin Project" admin

在这里插入图片描述
3.创建名字为admin的user

# openstack user create --domain default --password-prompt admin

(回车之后输入自定密码,我设为:123456)
在这里插入图片描述
4. 创建名字为admin的role

# openstack role create admin

在这里插入图片描述
5. 进行关联
# openstack role add --project admin --user admin admin (无返回值

6.创建名为service的project

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

在这里插入图片描述
7. 创建名为demo的project

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

在这里插入图片描述
8. 创建名为demo的user

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

(回车之后输入自定义密码,我设为:123456)
在这里插入图片描述
9. 创建名为demo的role

# openstack role create user

在这里插入图片描述
10. 进行关联

# openstack role add --project demo --user demo user   (无返回值)

六、验证Keystone服务

1.不生效临时变量

# unset OS_TOKEN OS_URL

2.查看admin用户,请求身份验证令牌

# 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

(回车之后,输入你之前设置的admin用户的密码:123456)
在这里插入图片描述
3. 查看demo用户,请求身份验证令牌

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

在这里插入图片描述
(回车之后,输入你之前设置的admin用户的密码:123456)
4. 写入环境变量
创建/root/admin-openrc文件
添加:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

创建/root/demo-openrc文件
添加:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

5.生效并验证

# . admin-openrc 
# . demo-openrc 
# openstack token issue

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40791253/article/details/83088826