1、實驗目的:python
1、掌握OpenStack環境搭建的基礎工做mysql
2、掌握keystone的安裝與配置方法sql
3、掌握keystone基礎接口的調用方法數據庫
2、實驗步驟:bootstrap
1、利用最初建立的快照克隆兩臺CentOS服務器,克隆的兩臺分別修改主機名爲xxx-controller和xxx-compute1,修改IP地址爲192.168.xx.10和192.168.xx.20。vim
Controller:centos
Compute1:服務器
二、在兩臺主機中修改配置文件/etc/hosts,分別添加xxx-controller和xxx- compute1和IP地址之間的映射網絡
三、在controller節點上ping兩個主機名,查看可否ping通。dom
能夠ping通
四、在兩個節點上分別安裝時間服務,在controller設置爲服務器,compute1節點爲時間客戶端。
控制節點controller
安裝服務
編輯/etc/chrony.conf文件
重啓服務並設置開機自啓動
Compute1節點
安裝chrony
編輯chrony.conf文件( compute1節點引用controller節點進行時鐘同步 )
在controller節點運行chronyc sources命令
在compute1節點運行chronyc sources命令
五、在controller和compute1上安裝OpenStack最新的源
安裝Rocky版本,運行yum -y install centos-release-openstack-rocky
完成安裝後在全部節點升級軟件包
#yum upgrade
安裝OpenStack客戶端:
yum -y install python-openstackclient
六、在controller安裝數據庫mariadb,安裝後並修改配置文件,而後啓動數據庫服務器,並設置開機啓動。
安裝和配置的部件
#yum install mariadb mariadb-server python2-PyMySQL
建立並編輯/etc/my.cnf.d/openstack.cnf文件( 儘可能備份/etc/my.cnf.d/文件夾下現有配置文件 )並完成如下操做:
啓動數據庫服務,並將其配置爲在系統引導時啓動:
經過運行mysql_secure_installation 腳原本保護數據庫服務。特別是,爲數據庫root賬戶選擇合適的密碼 :
七、在controller上安裝消息隊列服務rabbitmq,而後啓動服務,並設置開機啓動,而後爲OpenStack建立用戶,用戶名爲本身姓名拼音。
安裝軟件包:
啓動消息隊列服務,並將其配置爲在系統引導時啓動:
添加openstack用戶:
八、在controller節點上安裝Memcached服務,而後啓動服務並設置開機啓動。
安裝軟件包
編輯/etc/sysconfig/memcached文件並完成如下操做:
配置服務以使用控制器節點的管理IP地址。這是爲了容許其餘節點經過管理網絡進行訪問:
#vim /etc/sysconfig/memcached
啓動Memcached服務,並將其配置爲在系統啓動時啓動:
九、在controller上安裝keystone服務。
安裝組件
十、修改keystone配置文件。
在[database]部分中,配置數據庫訪問:
在[token]部分中,配置Fernet token提供者
十一、進入數據庫,爲keystone建立數據庫,並建立訪問用戶以及對用戶受權。
使用數據庫訪問客戶端以root用戶身份鏈接到數據庫服務器
建立keystone數據庫:
授予對keystone數據庫的適當訪問權限:
MariaDB [(none)]>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '此處填本身的密碼';
MariaDB [(none)]>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '此處填本身的密碼';
12、初始化keystone數據庫,參考命令
su -s /bin/sh -c "keystone-manage db_sync" keystone
13、初始化keys,參考命令
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
14、建立域、項目、用戶和角色,參考命令
建立Service Project:
#penstack project create --domain default \
--description "Service Project" service
建立Demo Project:
#openstack project create --domain default \
--description "Demo Project" demo
建立 demo 用戶:
#openstack user create --domain default \
--password-prompt demo
建立user角色:
#openstack role create user
將用戶租戶角色鏈接起來:
#openstack role add --project demo --user demo user
建立域:
建立demo project:
建立demo user:
建立role:
將myrole角色添加到mydemo項目和myuser用戶:
openstack role add --project mydemo --user myuser myrole
1五、驗證用戶信息
1六、建立OpenStack客戶端環境腳本
建立腳本文件admin-openrc
請求一個身份驗證token:
下次直接運行腳本文件就能夠導入環境變量了