OpenStack L版官网配置转载(二)
2017-03-03 16:05
471 查看
KeyStone安装与部署
控制节点:
完成下面的步骤以创建数据库:
用数据库连接客户端以 root 用户连接到数据库服务器:
创建 keystone 数据库:
对keystone数据库授予恰当的权限:
用合适的密码替换 KEYSTONE_DBPASS 。
退出数据库客户端。
运行以下命令来安装包。
启动Memcached服务,并且配置它随机启动。
编辑文件 /etc/keystone/keystone.conf 并完成如下动作:
在[DEFAULT]部分,定义管理员token初始值:
用你在前一步生成的随机数替换 ADMIN_TOKEN 。
在 [database] 部分,配置数据库访问:
将 KEYSTONE_DBPASS 替换为你为数据库选择的密码。
在[memcache] 部分,配置Memcached服务:
在[token]部分,配置 UUID token provider 和Memcached 驱动:
在 [revoke] 部分,配置SQL 回滚驱动:
(可选的)为帮助排错,在 “[DEFAULT]”部分启用详细日志。
初始化身份认证服务的数据库:
配置 Apache HTTP 服务器
控制节点:
编辑/etc/httpd/conf/httpd.conf`文件,配置ServerName选项为控制节点:
用下面的内容创建文件 /etc/httpd/conf.d/wsgi-keystone.conf。
启动 Apache HTTP 服务并配置其随系统启动:
创建服务实体和API端点
配置认证令牌:
将ADMIN_TOKEN替换为你在 :doc:keystone-install章节中生成的认证令牌。例如:
配置端点URL:
配置认证 API 版本:
在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务。
为身份认证服务创建服务实体:
身份认证服务管理了一个与您环境相关的 API 端点的目录。服务使用这个目录来决定如何与您环境中的其他服务进行通信。
OpenStack使用三个API端点变种代表每种服务:admin,internal和public。默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作。在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上。对实例而言,公共API网络为了让顾客管理他们自己的云在互联网上是可见的。管理API网络在管理云基础设施的组织中操作也是有所限制的。内部API网络可能会被限制在包含OpenStack服务的主机上。此外,OpenStack支持可伸缩性的多区域。为了简单起见,本指南为所有端点变种和默认``RegionOne``区域都使用管理网络。
创建认证服务的 API 端点:
创建项目、用户和角色
在你的环境中,为进行管理操作,创建管理的项目、用户和角色:
创建 admin 项目:
创建 admin 用户:
添加admin角色到 admin 项目和用户上:
本指南使用一个你添加到你的环境中每个服务包含独有用户的service 项目。创建service项目:
常规(非管理)任务应该使用无特权的项目和用户。作为例子,本指南创建 demo 项目和用户。
创建demo项目:
创建demo用户:
创建 user 角色:
添加 user角色到 demo 项目和用户:
因为安全性的原因,关闭临时认证令牌机制:
编辑/usr/share/keystone/keystone-dist-paste.ini文件,从[pipeline:public_api],[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth。
重置OS_TOKEN和OS_URL环境变量:
使用admin用户,请求认证令牌:
使用demo用户,请求认证令牌:
创建 OpenStack 客户端环境脚本
编辑文件admin-openrc.sh并添加如下内容:
将 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码。
编辑文件 demo-openrc.sh 并添加如下内容:
将 DEMO_PASS 替换为你在认证服务中为 demo 用户选择的密码。
加载admin-openrc.sh文件来身份认证服务的环境变量位置和admin项目和用户证书:
请求认证令牌:
控制节点:
完成下面的步骤以创建数据库:
用数据库连接客户端以 root 用户连接到数据库服务器:
$ mysql -u root -p
创建 keystone 数据库:
CREATE DATABASE keystone;
对keystone数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEYSTONE_DBPASS'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'KEYSTONE_DBPASS';
用合适的密码替换 KEYSTONE_DBPASS 。
退出数据库客户端。
运行以下命令来安装包。
# yum install openstack-keystone httpd mod_wsgi \ memcached python-memcached
启动Memcached服务,并且配置它随机启动。
# systemctl enable memcached.service # systemctl start memcached.service
编辑文件 /etc/keystone/keystone.conf 并完成如下动作:
在[DEFAULT]部分,定义管理员token初始值:
[DEFAULT] ... admin_token = ADMIN_TOKEN
用你在前一步生成的随机数替换 ADMIN_TOKEN 。
在 [database] 部分,配置数据库访问:
[database] ... connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
将 KEYSTONE_DBPASS 替换为你为数据库选择的密码。
在[memcache] 部分,配置Memcached服务:
[memcache] ... servers = localhost:11211
在[token]部分,配置 UUID token provider 和Memcached 驱动:
[token] ... provider = uuid driver = memcache
在 [revoke] 部分,配置SQL 回滚驱动:
[revoke] ... driver = sql
(可选的)为帮助排错,在 “[DEFAULT]”部分启用详细日志。
[DEFAULT] ... verbose = True
初始化身份认证服务的数据库:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
配置 Apache HTTP 服务器
控制节点:
编辑/etc/httpd/conf/httpd.conf`文件,配置ServerName选项为控制节点:
ServerName controller
用下面的内容创建文件 /etc/httpd/conf.d/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 <IfVersion >= 2.4> ErrorLogFormat "%{cu}t %M" </IfVersion> ErrorLog /var/log/httpd/keystone-error.log CustomLog /var/log/httpd/keystone-access.log combined <Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </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 <IfVersion >= 2.4> ErrorLogFormat "%{cu}t %M" </IfVersion> ErrorLog /var/log/httpd/keystone-error.log CustomLog /var/log/httpd/keystone-access.log combined <Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory> </VirtualHost>
启动 Apache HTTP 服务并配置其随系统启动:
# systemctl enable httpd.service # systemctl start httpd.service
创建服务实体和API端点
配置认证令牌:
$ export OS_TOKEN=ADMIN_TOKEN
将ADMIN_TOKEN替换为你在 :doc:keystone-install章节中生成的认证令牌。例如:
$ export OS_TOKEN=294a4c8a8a475f9b9836
配置端点URL:
$ export OS_URL=http://controller:35357/v3
配置认证 API 版本:
export OS_IDENTITY_API_VERSION=3
在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务。
为身份认证服务创建服务实体:
$ openstack service create \ --name keystone --description "OpenStack Identity" identity +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Identity | | enabled | True | | id | 4ddaae90388b4ebc9d252ec2252d8d10 | | name | keystone | | type | identity | +-------------+----------------------------------+
身份认证服务管理了一个与您环境相关的 API 端点的目录。服务使用这个目录来决定如何与您环境中的其他服务进行通信。
OpenStack使用三个API端点变种代表每种服务:admin,internal和public。默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作。在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上。对实例而言,公共API网络为了让顾客管理他们自己的云在互联网上是可见的。管理API网络在管理云基础设施的组织中操作也是有所限制的。内部API网络可能会被限制在包含OpenStack服务的主机上。此外,OpenStack支持可伸缩性的多区域。为了简单起见,本指南为所有端点变种和默认``RegionOne``区域都使用管理网络。
创建认证服务的 API 端点:
$ openstack endpoint create --region RegionOne \ identity public http://controller:5000/v2.0 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 30fff543e7dc4b7d9a0fb13791b78bf4 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 8c8c0927262a45ad9066cfe70d46892c | | service_name | keystone | | service_type | identity | | url | http://controller:5000/v2.0 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ identity internal http://controller:5000/v2.0 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 57cfa543e7dc4b712c0ab137911bc4fe | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 6f8de927262ac12f6066cfe70d99ac51 | | service_name | keystone | | service_type | identity | | url | http://controller:5000/v2.0 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ identity admin http://controller:35357/v2.0 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 78c3dfa3e7dc44c98ab1b1379122ecb1 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 34ab3d27262ac449cba6cfe704dbc11f | | service_name | keystone | | service_type | identity | | url | http://controller:35357/v2.0 | +--------------+----------------------------------+
创建项目、用户和角色
在你的环境中,为进行管理操作,创建管理的项目、用户和角色:
创建 admin 项目:
$ openstack project create --domain default \ --description "Admin Project" admin +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Admin Project | | domain_id | default | | enabled | True | | id | 343d245e850143a096806dfaefa9afdc | | is_domain | False | | name | admin | | parent_id | None | +-------------+----------------------------------+
创建 admin 用户:
$ openstack role create admin +-------+----------------------------------+ | Field | Value | +-------+----------------------------------+ | id | cd2cb9a39e874ea69e5d4b896eb16128 | | name | admin | +-------+----------------------------------+
添加admin角色到 admin 项目和用户上:
$ openstack role add --project admin --user admin admin
本指南使用一个你添加到你的环境中每个服务包含独有用户的service 项目。创建service项目:
$ openstack project create --domain default \ --description "Service Project" service +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Service Project | | domain_id | default | | enabled | True | | id | 894cdfa366d34e9d835d3de01e752262 | | is_domain | False | | name | service | | parent_id | None | +-------------+----------------------------------+
常规(非管理)任务应该使用无特权的项目和用户。作为例子,本指南创建 demo 项目和用户。
创建demo项目:
$ openstack project create --domain default \ --description "Demo Project" demo +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Demo Project | | domain_id | default | | enabled | True | | id | ed0b60bf607743088218b0a533d5943f | | is_domain | False | | name | demo | | parent_id | None | +-------------+----------------------------------+
创建demo用户:
$ openstack user create --domain default \ --password-prompt demo User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | 58126687cbcc4888bfa9ab73a2256f27 | | name | demo | +-----------+----------------------------------+
创建 user 角色:
$ openstack role create user +-------+----------------------------------+ | Field | Value | +-------+----------------------------------+ | id | 997ce8d05fc143ac97d83fdfb5998552 | | name | user | +-------+----------------------------------+
添加 user角色到 demo 项目和用户:
$ openstack role add --project demo --user demo user
因为安全性的原因,关闭临时认证令牌机制:
编辑/usr/share/keystone/keystone-dist-paste.ini文件,从[pipeline:public_api],[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth。
重置OS_TOKEN和OS_URL环境变量:
$ unset OS_TOKEN OS_URL
使用admin用户,请求认证令牌:
$ openstack --os-auth-url http://controller:35357/v3 \ --os-project-domain-id default --os-user-domain-id default \ --os-project-name admin --os-username admin --os-auth-type password \ token issue Password: +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | expires | 2015-03-24T18:55:01Z | | id | ff5ed908984c4a4190f584d826d75fed | | project_id | cf12a15c5ea84b019aec3dc45580896b | | user_id | 4d411f2291f34941b30eef9bd797505a | +------------+----------------------------------+
使用demo用户,请求认证令牌:
$ openstack --os-auth-url http://controller:5000/v3 \ --os-project-domain-id default --os-user-domain-id default \ --os-project-name demo --os-username demo --os-auth-type password \ token issue Password: +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | expires | 2014-10-10T12:51:33Z | | id | 1b87ceae9e08411ba4a16e4dada04802 | | project_id | 4aa51bb942be4dd0ac0555d7591f80a6 | | user_id | 7004dfa0dda84d63aef81cf7f100af01 | +------------+----------------------------------+
创建 OpenStack 客户端环境脚本
编辑文件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 export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3
将 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码。
编辑文件 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 export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3
将 DEMO_PASS 替换为你在认证服务中为 demo 用户选择的密码。
加载admin-openrc.sh文件来身份认证服务的环境变量位置和admin项目和用户证书:
$ source admin-openrc.sh
请求认证令牌:
$ openstack token issue +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | expires | 2015-03-25T01:45:49.950092Z | | id | cd4110152ac24bdeaa82e1443c910c36 | | project_id | cf12a15c5ea84b019aec3dc45580896b | | user_id | 4d411f2291f34941b30eef9bd797505a | +------------+----------------------------------+
相关文章推荐
- OpenStack L版官网配置转载(三)
- OpenStack L版官网配置转载(四)
- OpenStack L版官网配置转载(一)
- OpenStack L版官网配置转载(七)——网络选项1:提供者网络
- OpenStack L版官网配置转载(五)
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
- centos7 安装配置openstack-ceilometer (官网openstack-juno版)
- centos7 安装配置openstack-dashboard (官网openstack-juno版)
- centos7 安装配置openstack-dashboard (官网openstack-juno版)
- 再谈Asp.NET虚拟主机的权限配置!(转载)
- (转载)浅谈linux优化及安全配置
- [转载]常用log4j配置
- [转载]jboss配置 mysql数据库连接池
- [转载]TOMCAT下配置SERVLET
- 路由器防火墙配置命令(转载)
- php配置[转载]
- (转载)HP-UX系统维护基本命令和常用配置文件
- (转载)SoftIce的安装、配置以及一些基本操作
- Tomcat配置技巧Top 10(转载)