Openstack安装-Keystone

本篇开始安装Openstack,在VMware上的单个虚拟机上安装

Keystone

概念

它是Openstack的身份认证服务,为云环境提供用户的账户和角色信息认证和管理服务。经Openstack认证通过后,Keystone会在Openstack各个服务之间传输用的鉴权密钥,用该密钥做某个具体服务做鉴权和验证,如Swift和Nova。

安装步骤

安装目标:Openstack grizzly版

步骤1:添加和更新grizzly源

apt-get update
apt-get install ubuntu-cloud-keyring //添加 cloud archive 密钥
echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-proposed/grizzly main"
echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main" | sudo tee /etc/apt/sources.list.d/grizzly.list
apt-get update
apt-get -y dist-upgrade

【问】最后一句执行的时间要一个小时以上,是不是可以忽略不做?

步骤2:安装配置mysql

//安装
sudo apt-get install mysql-server,root密码设置为openstack
//配置root用户的远程访问权限
mysql -u root -p
输入 openstack
grant all privileges on . to root@"%" identified by "openstack" with grant option;
flush privileges;
create database keystone;
create user keystone; //创建用户
set password for 'keystone'@'%' = password('keystone'); //设置密码

步骤3:安装Keystone

//安装
sudo apt-get -y install keystone python-keyring
sudo apt-get -y install python-keystoneclient
// 修改/etc/keystone/keystone.conf文件
connection = sqlite:////var/lib/keystone/keystone.db 注释掉
改为 connection = mysql://keystone:[email protected]:3306/keystone
grant all privileges on keystone.* to 'keystone'@'%'; //授予keystone用户操作keystone数据库的全部权限

注意:遇到vi编辑文档时,上下左右键出现乱码的情况,解决方法是 /etc/vim/vimrc.tiny中的set compatible 改为 set nocompatible,后边再加入一行 set backspace=2

//为keystone数据库填充必要的表格
sudo keystone-manage db_sync

注意:如果遇到 importerror:No module named MySQLdb,解决方法是执行apt-get install python-mysqldb

//检验安装结果
进入mysql的keystone库,查看tables,有很多
运行 keystone --help,出现提示

步骤4:配置环境变量

vi ~/.bashrc
//末尾添加下面几行
export ENDPOINT=192.168.68.141
export SERVICE_TOKEN=ADMIN
export SERVICE_ENDPOINT=http:// ${ENDPOINT}:35357 /v2.0
//其中的TOKEN是keystone.conf里设置的,可以修改,两个文件保持一致即可

步骤5:创建租户

//创建一个租户cookbook
keystone tenant-create --name cookbook --description "Admin Tenant" --enabled true
//创建租户admin,用于管理
keystone tenant-create --name admin --description "Admin Tenant" --enabled true

步骤6:创建角色

keystone role-create --name admin //admin是默认的管理员角色
keystone role-create --name Member

步骤7:添加用户

//在cookbook租户下添加用户admin并赋予admin的角色
//同时,需要把admin用户添加到admin租户中
//用vi写脚本如下,然后执行该bash脚本,创建admin用户完成
TENANT_ID=$(keystone tenant-list | awk '/\ cookbook\ / {print $2}')
PASSWORD=openstack
keystone user-create --name admin --tenant_id $TENANT_ID --pass $PASSWORD --email root@localhost --enabled true
ROLE_ID=$(keystone role-list | awk '/\ admin\ / {print $2}')
USER_ID=$(keystone user-list | awk '/\ admin\ / {print $2}')
keystone user-role-add --user $USER_ID --role $ROLE_ID --tenant $TENANT_ID
ADMIN_TENANT_ID=$(keystone tenant-list | awk '/\ admin\ / {print $2}')
keystone user-role-add --user $USER_ID --role $ROLE_ID --tenant $ADMIN_TENANT_ID

//在cookbook租户里新建demo用户,赋予Member角色
//vi脚本如下
TENANT_ID=$(keystone tenant-list | awk '/\ cookbook\ / {print $2}')
PASSWORD=openstack
keystone user-create --name demo --tenant_id $TENANT_ID --pass $PASSWORD --email demo@localhost --enabled true
ROLE_ID=$(keystone role-list | awk '/\ Member\ / {print $2}')
USER_ID=$(keystone user-list | awk '/\ demo\ / {print $2}')

keystone user-role-add --user $USER_ID --role $ROLE_ID --tenant $TENANT_ID

【问】租户和用户分别是什么含义? 角色与用户绑定还是与租户绑定?
【未完待续】

你可能感兴趣的:(Openstack安装-Keystone)