Ubuntu搭建Openstack平台(kilo)(二.keystone)
2016-05-06 16:58
501 查看
一.keystone安装
参考文档:http://www.aboutyun.com/thread-13080-1-1.html
http://docs.openstack.org/mitaka/install-guide-ubuntu/keystone-install.html
1.创建keystone数据库并授权
创建keystone数据库:
授权(并设置keystone密码,此密码在后面同步数据库时会用到,我的是keystone):
退出:
2.安装keystone
生成一个随机token串(后面会用到,例:570f15acb897e7v3e58f):
默认keystone服务监听端口5000 和 35357,尽管如此向导配置 Apache HTTP server 监听这些端口,为了避免端口冲突,安装后禁止开机启动keystone 服务(不清楚)
安装keystone
修改配置文件
保存退出。
同步数据库
以上都是在root权限下进行。
二.配置 Apache HTTP server
修改配置文件/etc/apache2/apache2.conf,配置ServerName选项为控制节点hostname(文件中应该不存在,自己添加上去)
创建/etc/apache2/sites-available/wsgi-keystone.conf 文件,添加如下内容
启用身份服务虚拟主机
创建WSGI组件的目录结构
下载复制WSGI 组件到目录 /var/www/cgi-bin/keystone
修改权限
重启Apache服务
如果存在 SQLite 数据库,则删除
三.创建服务实例与API endpoint
1.配置临时环境变量
2.创建服务实例与API endpoint
创建Identity 实例服务
创建实例服务
3.创建管理员租户(现在叫project)、用户、角色
创建admin租户
创建admin的租户(project)(密码自己输入,要记住,登录时会用)
创建admin角色
添加 admin 角色到 admin 租户(project)和用户
4.创建一个service租户
5.创建非管理员demo租户(project)
创建demo租户(project)
创建demo用户(密码自己输入,要记住,登录时会用)
创建user 角色
添加user 角色到demo租户和用户
四.验证keystone安装部署
1.remove临时的脚本
为了安全,禁用临时token,编辑 /etc/keystone/keystone-paste.ini 文件 , 移除 admin_token_auth从 [pipeline:public_api], [pipeline:admin_api], 和 [pipeline:api_v3] 部分.(并不明白)
去掉环境变量OS_TOKEN 和 OS_URL
2.验证
不贴了,见网页:http://www.aboutyun.com/thread-13085-1-1.html
五. 创建openstack客户端环境变量脚本
创建admin脚本
创建demo脚本
加载脚本
注意:以前搭建的,可以运行,如果上面写的有一些问题,谢谢指出来。
参考文档:http://www.aboutyun.com/thread-13080-1-1.html
http://docs.openstack.org/mitaka/install-guide-ubuntu/keystone-install.html
1.创建keystone数据库并授权
mysql -u root -p
创建keystone数据库:
CREATE DATABASE keystone;
授权(并设置keystone密码,此密码在后面同步数据库时会用到,我的是keystone):
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_PASS'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_PASS';
退出:
exit;
2.安装keystone
生成一个随机token串(后面会用到,例:570f15acb897e7v3e58f):
openssl rand -hex 10
默认keystone服务监听端口5000 和 35357,尽管如此向导配置 Apache HTTP server 监听这些端口,为了避免端口冲突,安装后禁止开机启动keystone 服务(不清楚)
echo "manual" > /etc/init/keystone.override
安装keystone
apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache
修改配置文件
vim /etc/keystone/keystone.conf [DEFAULT] verbose = True admin_token = ADMIN_TOKEN(换成上面的token串) [database] connection = mysql://keystone:KEYSTONER_PASS(keystone)@controller/keystone 一定要注释掉否则会产生404(应该是,反正会报错):connection=sqlite:////var/lib/keystone/keystone.db [memcache] servers = localhost:11211 [token] ... provider = keystone.token.providers.uuid.Provider driver = keystone.token.persistence.backends.memcache.Token [revoke] driver = keystone.contrib.revoke.backends.sql.Revoke
保存退出。
同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
以上都是在root权限下进行。
二.配置 Apache HTTP server
修改配置文件/etc/apache2/apache2.conf,配置ServerName选项为控制节点hostname(文件中应该不存在,自己添加上去)
ServerName contr f20c oller
创建/etc/apache2/sites-available/wsgi-keystone.conf 文件,添加如下内容
Listen 5000 Listen 35357 <VirtualHost *:5000> WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-public WSGIScriptAlias / /usr/bin/keystone-wsgi-public WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> Require all granted </Directory> </VirtualHost> <VirtualHost *:35357> WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-admin WSGIScriptAlias / /usr/bin/keystone-wsgi-admin WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> Require all granted </Directory> </VirtualHost>
启用身份服务虚拟主机
ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
创建WSGI组件的目录结构
mkdir -p /var/www/cgi-bin/keystone
下载复制WSGI 组件到目录 /var/www/cgi-bin/keystone
curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo | tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin
修改权限
chown -R keystone:keystone /var/www/cgi-bin/keystone chmod 755 /var/www/cgi-bin/keystone/*
重启Apache服务
service apache2 restart
如果存在 SQLite 数据库,则删除
rm -f /var/lib/keystone/keystone.db
三.创建服务实例与API endpoint
1.配置临时环境变量
export OS_TOKEN=此处为上面的token串 export OS_URL=http://controller:35357/v2.0
2.创建服务实例与API endpoint
创建Identity 实例服务
penstack service create --name keystone --description "OpenStack Identity" identity(后面都是官网截取的图,自己的搭建的时候没截图,实际也是这样的) +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Identity | | enabled | True | | id | 4ddaae90388b4ebc9d252ec2252d8d10 | | name | keystone | | type | identity | +-------------+----------------------------------+
创建实例服务
openstack endpoint create --publicurl http://controller:5000/v2.0 --internalurl http://controller:5000/v2.0 --adminurl http://controller:35357/v2.0 --region RegionOne identity +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | adminurl | http://controller:35357/v2.0 | | id | 57cfa543e7dc4b712c0ab137911bc4fe | | internalurl | http://controller:5000/v2.0 | | publicurl | http://controller:5000/v2.0 | | region | RegionOne | | service_id | 6f8de927262ac12f6066cfe70d99ac51 | | service_name | keystone | | service_type | identity | +--------------+----------------------------------+
3.创建管理员租户(现在叫project)、用户、角色
创建admin租户
openstack project create --description "Admin Project" admin +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Admin Project | | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | 343d245e850143a096806dfaefa9afdc | | is_domain | False | | name | admin | | parent_id | None | +-------------+----------------------------------+
创建admin的租户(project)(密码自己输入,要记住,登录时会用)
openstack user create --password-prompt admin User Password:(设置的admin) Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | ac3377633149401296f6c0d92d79dc16 | | name | admin | +-----------+----------------------------------+
创建admin角色
openstack role create admin +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | None | | id | cd2cb9a39e874ea69e5d4b896eb16128 | | name | admin | +-----------+----------------------------------+
添加 admin 角色到 admin 租户(project)和用户
openstack role add --project admin --user admin admin
4.创建一个service租户
openstack project create --domain default --description "Service Project" service +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Service Project | | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | 894cdfa366d34e9d835d3de01e752262 | | is_domain | False | | name | service | | parent_id | None | +-------------+----------------------------------+
5.创建非管理员demo租户(project)
创建demo租户(project)
openstack project create --description "Demo Project" demo +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Demo Project | | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | ed0b60bf607743088218b0a533d5943f | | is_domain | False | | name | demo | | parent_id | None | +-------------+----------------------------------+
创建demo用户(密码自己输入,要记住,登录时会用)
openstack user create --password-prompt demo User Password:(设置的demo) Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | 58126687cbcc4888bfa9ab73a2256f27 | | name | demo | +-----------+----------------------------------+
创建user 角色
openstack role create user +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | None | | id | 997ce8d05fc143ac97d83fdfb5998552 | | name | user | +-----------+----------------------------------+
添加user 角色到demo租户和用户
openstack role add --project demo --user demo user
四.验证keystone安装部署
1.remove临时的脚本
为了安全,禁用临时token,编辑 /etc/keystone/keystone-paste.ini 文件 , 移除 admin_token_auth从 [pipeline:public_api], [pipeline:admin_api], 和 [pipeline:api_v3] 部分.(并不明白)
去掉环境变量OS_TOKEN 和 OS_URL
unset OS_TOKEN OS_URL
2.验证
不贴了,见网页:http://www.aboutyun.com/thread-13085-1-1.html
五. 创建openstack客户端环境变量脚本
创建admin脚本
vim admin-openrc.sh 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_PASS(我的是admin) export OS_AUTH_URL=http://controller:35357/v3 export OS_REGION_NAME=RegionOne
创建demo脚本
vim demo-openrc.sh 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_PASS(我的是demo) export OS_AUTH_URL=http://controller:5000/v3 export OS_REGION_NAME=RegionOne
加载脚本
source admin-openrc.sh
注意:以前搭建的,可以运行,如果上面写的有一些问题,谢谢指出来。
相关文章推荐
- 设置Linux环境变量的方法和区别_Ubuntu
- Shell-快速创建大量目录
- 2016最新4套旅游网站建站程序系统优缺点分析
- 教你用photoshop制作一款可变颜色的高光质感水晶按钮
- hadoop研究
- 使用VisualVM监控远程服务器JVM
- OpenCV2.3的cvCalcHist函数有问题?255级值总为0,索性自己写一个直方图计算函数,附源码!
- opencv霍夫变换源码及注释
- docker使用历史
- 记一次线上服务器处理后门程序
- 网站添加数据出错,原来是MS SQL Server2008日志文件占据空间过大导致的
- openstack 制作winserver2008_R2镜像 用cloudbase-init 实现第一次创建就注入密码(需登录)
- linux ctrl + s 假死
- 关于 tomcat 集群中 session 共享的三种方法
- nginx的upstream目前支持的5种方式的分配
- bash文件
- 网站开发框架
- 【Linux安全】系统资源监控与进程终止
- 运维人员必备五点
- saltstack 安装 apache