Controller节点: 创建keystone数据库,授予权限:
1 2 3 4 5 6 7 8 $ mysql - u root - p 密码:123456 MariaDB [(none )]> CREATE DATABASE keystone; MariaDB [(none )]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone' @'localhost' \ IDENTIFIED BY '123456' ; MariaDB [(none )]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone' @'%' \ IDENTIFIED BY '123456' ; MariaDB [(none )]> exit;
安装及配置组件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # yum install openstack-keystone httpd mod_wsgi # vi /etc/ keystone/keystone.conf [database] connection = mysql+pymysql: [token] provider = fernet # su -s /bin/ sh -c "keystone-manage db_sync" keystone # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone # keystone-manage bootstrap --bootstrap-password 123456 \ --bootstrap-admin-url http: --bootstrap-internal-url http: --bootstrap-public -url http: --bootstrap-region-id RegionOne
配置Apache HTTP Server
1 2 3 4 # vi /etc/ httpd/conf/ httpd.conf ServerName controller # ln -s /usr/ share/keystone/ wsgi-keystone.conf /etc/ httpd/conf.d/
完成安装:
1 2 # systemctl enable httpd.service # systemctl start httpd.service
配置管理帐户
1 2 3 4 5 6 7 $ export OS_USERNAME=admin $ export OS_PASSWORD=123456 $ export OS_PROJECT_NAME=admin $ export OS_USER_DOMAIN_NAME=Default $ export OS_PROJECT_DOMAIN_NAME=Default $ export OS_AUTH_URL=http: $ export OS_IDENTITY_API_VERSION=3
创建域、项目、用户和角色:
1 2 3 4 5 6 7 8 9 10 $ openstack domain create --description "An Example Domain" example +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | An Example Domain | | enabled | True | | id | 2 f338489f6c64472a0b2b6db54ecc2df | | name | example | | tags | [] | +-------------+----------------------------------+
1 2 3 4 5 6 7 8 9 10 11 12 13 $ openstack project create --domain default --description "Service Project" service +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Service Project | | domain_id | default | | enabled | True | | id | 84218999229845e2 ad7f4e88208b3bee | | is_domain | False | | name | service | | parent_id | default | | tags | [] | +-------------+----------------------------------+
1 2 3 4 5 6 7 8 9 10 11 12 13 $ openstack project create --domain default --description "Demo Project" demo +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Demo Project | | domain_id | default | | enabled | True | | id | 5 c4692ce6659454eb830e7e9633a09f1 | | is_domain | False | | name | demo | | parent_id | default | | tags | [] | +-------------+----------------------------------+
1 2 3 4 5 6 7 8 9 10 11 12 13 $ openstack user create --domain default --password-prompt demo User Password: 123456 Repeat User Password: 123456 +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 803e7 ad2e94b4af39f9be9e0742b45fd | | name | demo | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
1 2 3 4 5 6 7 8 $ openstack role create user +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | None | | id | cbe4799bac204eacbf0012a77dc349c4 | | name | user | +-----------+----------------------------------+
1 $ openstack role add --project demo --user demo user
验证操作:
1 $ unset OS_AUTH_URL OS_PASSWORD
1 2 3 4 5 6 7 8 9 10 11 12 $ openstack --os-auth-url http: --os-project-domain-name Default --os-user-domain-name Default \ --os-project-name admin --os-username admin token issuePassword: 123456 +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | expires | 2018 -09 -12 T09: 43 :34 +0000 | | id | gAAAAABbmNG25wIya-0xF Yb3zCW3ljtDTWnr8ZCpB4iAZPMfQnP-62 EGiIr6aKEjO847h6jH5nNONRqeLXO2BC_bJ0O-b5Fwj2GZpYGWRSSucAU4Mh6MqLQzetbOsRCv9-ZGO6VQYkmr0cPTEm7kzuzUL2bwTcUCbAVCpuFvCnRUZ7Hu4FE5bAI | | project_id | 4 a5e42dd8cbf410f85a5f145039d69a6 | | user_id | 2 ffffa1e6cbe4d239bdacc9760a54dd5 | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 2 3 4 5 6 7 8 9 10 11 12 $ openstack --os-auth-url http: --os-project-domain-name Default --os-user-domain-name Default \ --os-project-name demo --os-username demo token issuePassword: 123456 +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | expires | 2018 -09 -12 T09: 45 :20 +0000 | | id | gAAAAABbmNIgtMBObdQXwOlGu-HMLvKNTBZuYvVizTCn3aDJLMvqzQRTyjhfm5RjEkAgIWcYfal9TrjZan2VWL_AZ8cASpkBwoa0TQn_rWlZw1wh8xcDeb5XNES3jMNxhtZA87peDCnMkGJoMaJVhvkR4gsDQiIUmCImzjYv6ZvJjLgGEotBszY | | project_id | 5 c4692ce6659454eb830e7e9633a09f1 | | user_id | 803e7 ad2e94b4af39f9be9e0742b45fd | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
创建OpenStack客户端环境脚本:
1 2 3 4 5 6 7 8 9 # vi /root/ 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=123456 export OS_AUTH_URL=http: export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
1 2 3 4 5 6 7 8 9 # vi /root/ 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=123456 export OS_AUTH_URL=http: export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
使用脚本验证:
1 2 3 4 5 6 7 8 9 10 11 $ . admin-openrc $ openstack token issue +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | expires | 2018 -09 -12 T09: 55 :59 +0000 | | id | gAAAAABbmNSfM00gw3qvJi-U8ytTcBxfuVhgNkETRa-gh3PqLp6Md9cW_5FfbkUL1nyQGW4Bg_XvvdIhSBv7fXRnbfyqGxTxOUloe7BmnWgM9LqLn8Fm2FLQp8qcuFamyW-9 _FZA5SPqxbYS1Ozk6fO7TRDWAIWdzy5i0-qqB4Ypt6vQOyW-pqk | | project_id | 4 a5e42dd8cbf410f85a5f145039d69a6 | | user_id | 2 ffffa1e6cbe4d239bdacc9760a54dd5 | +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+