一、實驗目的:
1、掌握OpenStack環境搭建的基礎工作
2、掌握keystone的安裝與配置方法
3、掌握keystone基礎接口的調用方法
二、實驗步驟:
1、利用最初創建的快照克隆兩台CentOS服務器,克隆的兩台分別修改主機名為xxx-controller和xxx-compute1,修改IP地址為192.168.xx.10和192.168.xx.20。
Controller:
Compute1:
2、在兩台主機中修改配置文件/etc/hosts,分別添加xxx-controller和xxx- compute1和IP地址之間的映射
3、在controller節點上ping兩個主機名,查看能否ping通。
可以ping通
4、在兩個節點上分別安裝時間服務,在controller設置為服務器,compute1節點為時間客戶端。
控制節點controller
安裝服務
編輯/etc/chrony.conf文件
重啟服務並設置開機自啟動
Compute1節點
安裝chrony
編輯chrony.conf文件( compute1節點引用controller節點進行時鍾同步 )
在controller節點運行chronyc sources命令
在compute1節點運行chronyc sources命令
5、在controller和compute1上安裝OpenStack最新的源
安裝Rocky版本,運行yum -y install centos-release-openstack-rocky
完成安裝后在所有節點升級軟件包
#yum upgrade
安裝OpenStack客戶端:
yum -y install python-openstackclient
6、在controller安裝數據庫mariadb,安裝后並修改配置文件,然后啟動數據庫服務器,並設置開機啟動。
安裝和配置的部件
#yum install mariadb mariadb-server python2-PyMySQL
創建並編輯/etc/my.cnf.d/openstack.cnf文件( 盡量備份/etc/my.cnf.d/文件夾下現有配置文件 )並完成以下操作:
啟動數據庫服務,並將其配置為在系統引導時啟動:
通過運行mysql_secure_installation 腳本來保護數據庫服務。特別是,為數據庫root帳戶選擇合適的密碼 :
7、在controller上安裝消息隊列服務rabbitmq,然后啟動服務,並設置開機啟動,然后為OpenStack創建用戶,用戶名為自己姓名拼音。
安裝軟件包:
啟動消息隊列服務,並將其配置為在系統引導時啟動:
添加openstack用戶:
8、在controller節點上安裝Memcached服務,然后啟動服務並設置開機啟動。
安裝軟件包
編輯/etc/sysconfig/memcached文件並完成以下操作:
配置服務以使用控制器節點的管理IP地址。這是為了允許其他節點通過管理網絡進行訪問:
#vim /etc/sysconfig/memcached
啟動Memcached服務,並將其配置為在系統啟動時啟動:
9、在controller上安裝keystone服務。
安裝組件
10、修改keystone配置文件。
在[database]部分中,配置數據庫訪問:
在[token]部分中,配置Fernet token提供者
11、進入數據庫,為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
15、驗證用戶信息
16、創建OpenStack客戶端環境腳本
創建腳本文件admin-openrc
請求一個身份驗證token:
下次直接運行腳本文件就可以導入環境變量了