搭建Openstack集群

安装Keystone

keystone,故名思义,在Openstack项目中处于核心位置,是一个用户认证服务。所有的用户或者API的访问都需要经过keystone的确认授权。

Controller 主机 

#apt-get install keystone
编辑 /etc/keystone/keystone.conf 文件,原本默认的所有的Openstack数据库竟然都是SQLite,这显然无法使用
  [sql]
  connection = mysql://keystone:password@controller/keystone

建立keystone帐户的MySQL访问权限和Database。(PS:这个步骤在后续需要进行多次,建议始终保持一个MySQL终端,并保存下列命令到一个txt,届时只要替换就可以。

mysql -u root -ppassword

CREATE DATABASE keystone; 
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY ‘password'; 
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY ‘password';

如果完成 mysql -ukeystone -ppassword -h controller命令可以得到一个数据库终端且没有任何报错。

安装keystone数据结构

#keystone-manage db_sync

修改/etc/keystone/keystone.conf

[DEFAULT]
admin_token = password

重起Keystone

#service keystone restart

导入环境变量,创建service

#export OS_SERVICE_TOKEN=password
#export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
#keystone tenant-create --name=admin --description="Admin Tenant"
#keystone tenant-create --name=service --description="Service Tenant"
#keystone user-create --name=admin --pass=password  --email=admin@example.com
#keystone role-create --name=admin
#keystone user-role-add --user=admin --tenant=admin --role=admin
#keystone service-create --name=keystone --type=identity --description="Keystone #Identity Service

PS:其实最后一部分下文中也会出现多次类似的操作,如果确信你是通读完全文的话可以同样准备一个txt,然后直接替换就号。

完成后你会看到一串随机的字串,即service id。如果你没有记住这个id,可以直接通过keystone service-list命令找到对应的id。如下图,但此时你应该只有“keystone”一行。

OpenStack_deployment_02

 

创建endpoint

#keystone endpoint-create  --service-id=SERVICE_ID  --publicurl=http://controller:5000/v2.0 --internalurl=http://controller:5000/v2.0 --adminurl=http://controller:35357/v2.0

创建一个系统管理员

#unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
#keystone --os-username=admin --os-password=password --os-auth-url=http://controller:35357/v2.0 token-get
#keystone --os-username=admin --os-password=password --os-tenant-name=admin --os-auth-url=http://controller:35357/v2.0 token-get

正常情况应该有一个token获取成功的对话框。
下一步就是制作一个keystonerc文件并使其生效

vi keystonerc,填入:

export OS_USERNAME=admin
export OS_PASSWORD=password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller:35357/v2.0
#source keystonerc

keystone的最后冒烟测试,如果你一直follow上面的操作应该不会有报错。

keystone token-get
keystone user-list

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据