管理节点操作
1、部署Keystone认证服务
1.进入mysql
mysql -u root -p
2.创建数据库
CREATE DATABASE keystone
3.修改权限, 密码就是“KEYSTONE_DBPASS”
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
4.退出mysql
quit
5.安装keystone软件包
yum install openstack-keystone httpd mod_wsgi -y
6.配置kestone
生成临时ADMIN_TOKEN
openssl rand -hex 10
vim /etc/keystone/keystone.conf
:/DEFAULT] 可以搜索 按n翻页
记得把#注释去掉
- 在
[DEFAULT]
部分,定义初始管理令牌的值: [DEFAULT]
- ...
admin_token = ADMIN_TOKEN
使用前面步骤生成的随机数替换ADMIN_TOKEN
值。- 在
[database]
部分,配置数据库访问: [
database]
...
connection = mysql+pymysql:
//keystone:KEYSTONE_DBPASS@controller/keystone- 将
KEYSTONE_DBPASS
替换为你为数据库选择的密码。 - 在
[token]
部分,配置Fernet UUID令牌的提供者。 [token]
- ...
provider = fernet
- 7.查看有没有配置好
进入keystone数据库,没表就行
8.初始化认证服务数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
再次查看keystone数据库会有很多表
9.初始化Fernet keys
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
查看是否初始化成功,会多一个fernet-keys文件
ll /etc/keystone/
配置bootstrap身份认证服务
[root@controller ]# keystone-manage bootstrap --bootstrap-password admin --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
10.配置apache
编辑/etc/httpd/conf/httpd.conf
文件,配置ServerName
选项为控制节点:
vi /etc/httpd/conf/httpd.conf
ServerName IP:80
ln -sv /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
重启服务
systemctl enable httpd.service
systemctl start httpd.service
查看端口,记得要重启虚拟机
netstat –lntup
8、配置管理员账户的环境变量
[root@controller ~]# export OS_USERNAME=admin
[root@controller ~]# export OS_PASSWORD=admin
[root@controller ~]# export OS_PROJECT_NAME=admin
[root@controller ~]# export OS_USER_DOMAIN_NAME=Default
[root@controller ~]# export OS_PROJECT_DOMAIN_NAME=Default
[root@controller ~]# export OS_AUTH_URL=http://controller:5000/v3
[root@controller ~]# export OS_IDENTITY_API_VERSION=3
创建Openstack域、项目、用户、角色
[root@controller ]# openstack project create --domain default --description "Service Project" service
创建一个普通项目、用户、角色
创建 demo 项目
[root@controller ]# openstack project create --domain default --description "Demo Project" demo
创建 demo 用户
[root@controller ]# openstack user create --domain default --password-prompt demo
创建 user 角色
[root@controller ]# openstack role create user
添加 user 角色到 demo 项目和用户
[root@controller]# openstack role add --project demo --user demo user
验证认证服务
取消临时环境变量
[root@controller1]# unset OS_AUTH_URL OS_PASSWORD
取消 OS_TOKEN OS_URL
unset OS_TOKEN OS_URL
(3)以admin用户身份请求令牌
[root@VM-16-54-centos ~]# 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
(4)以demo用户身份请求令牌
[root@controller1 cy]# 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 issuedemo--os-username admin token issue
(5)创建环境脚本
①创建admin用户环境脚本
cat <<EOF >> 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=admin
> export OS_AUTH_URL=http://controller:5000/v3
> export OS_IDENTITY_API_VERSION=3
> export OS_IMAGE_API_VERSION=2
> EOF
②创建demo用户环境脚本
cat <<EOF > 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=demo
> export OS_AUTH_URL=http://controller:5000/v3
> export OS_IDENTITY_API_VERSION=3
> export OS_IMAGE_API_VERSION=2
> EOF
①执行admin的环境脚本
source admin-openrc
②基于脚本的环境变量,直接请求令牌
[root@controller ]# openstack token issue
注:部分内容参考他人文章,如有侵权请联系删除 atlantis_0425@outlook.com