传统公司部署OpenStack(t版)简易介绍(二)——Keystone组件部署
生活随笔
收集整理的這篇文章主要介紹了
传统公司部署OpenStack(t版)简易介绍(二)——Keystone组件部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳統公司部署OpenStack(t版)簡易介紹(二)——Keystone組件部署
- 一、OpenStack組件安裝的順序
- 二、創建數據庫實例和數據庫用戶(ct控制節點)
- 三、安裝、配置keystone、數據庫、Apache
- 四、創建OpenStack 域、項目、用戶和角色
一、OpenStack組件安裝的順序
- OpenStack部署的時候,各大組件之間是通過API進行對接,但是進行調用的時候,還是會進行權限認證,因此,首先必須要安裝 Keystone ,而且,我們是通過 apache 對組件間的API進行承載,因此也需要安裝apache
- 其次才會需要安裝其他的核心組件,例如glance、nova、neutron等
二、創建數據庫實例和數據庫用戶(ct控制節點)
mysql -u root -p create database keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS'; flush privileges; exit三、安裝、配置keystone、數據庫、Apache
1)、安裝keystone、httpd、mod_wsgi #mod_wsgi包的作用是讓apache能夠代理python程序的組件;openstack的各個組件,包括API都是用python寫的,但訪問的是apache,apache會把請求轉發給python去處理,這些包只安裝在controler節點yum -y install openstack-keystone httpd mod_wsgi cp -a /etc/keystone/keystone.conf{,.bak} grep -Ev "^$|#" /etc/keystone/keystone.conf.bak > /etc/keystone/keystone.conf#通過pymysql模塊訪問mysql,指定用戶名密碼、數據庫的域名、數據庫名 openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_DBPASS@ct/keystone#指定token的提供者;提供者就是keystone自己本身 openstack-config --set /etc/keystone/keystone.conf token provider fernet #Fernet:一種安全的消息傳遞格式2)、初始化認證服務數據庫 su -s /bin/sh -c "keystone-manage db_sync" keystone3)、初始化fernet 密鑰存儲庫(以下命令會生成兩個密鑰,生成的密鑰放于/etc/keystone/目錄下,用于加密數據) keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone4)、配置bootstrap身份認證服務 keystone-manage bootstrap --bootstrap-password ADMIN_PASS \ --bootstrap-admin-url http://ct:5000/v3/ \ --bootstrap-internal-url http://ct:5000/v3/ \ --bootstrap-public-url http://ct:5000/v3/ \ --bootstrap-region-id RegionOne #指定一個區域名稱 #此步驟是初始化openstack,會把openstack的admin用戶的信息寫入到mysql的user表中,以及url等其他信息寫入到mysql的相關表中; #admin-url是管理網(如公有云內部openstack管理網絡),用于管理虛擬機的擴容或刪除;如果共有網絡和管理網是一個網絡,則當業務量大時,會造成無法通過openstack的控制端擴容虛擬機,所以需要一個管理網; #internal-url是內部網絡,進行數據傳輸,如虛擬機訪問存儲和數據庫、zookeeper等中間件,這個網絡是不能被外網訪問的,只能用于企業內部訪問 #public-url是共有網絡,可以給用戶訪問的(如公有云) #但是此環境沒有這些網絡,則公用同一個網絡 #5000端口是keystone提供認證的端口 以下部分指的是openstack多節點的配置 #需要在haproxy服務器上添加一條listen #各種網絡的url需要指定controler節點的域名,一般是haproxy的vip的域名(高可用模式)5)、配置Apache HTTP服務器 echo "ServerName controller" >> /etc/httpd/conf/httpd.conf6)、創建配置文件 #安裝完mod_wsgi包后,會生成 wsgi-keystone.conf 這個文件,文件中配置了虛擬主機及監聽了5000端口,mod_wsgi就是python的網關 ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/7)、開啟服務 systemctl enable httpd systemctl start httpd8)、配置管理員賬戶的環境變量 #這些環境變量用于創建角色和項目使用,但是創建角色和項目需要有認證信息,所以通過環境變量聲明用戶名和密碼等認證信息,欺騙openstack已經登錄且通過認證,這樣就可以創建項目和角色;也就是把admin用戶的驗證信息通過聲明環境變量的方式傳遞給openstack進行驗證,實現針對openstack的非交互式操作 cat >> ~/.bashrc << EOF export OS_USERNAME=admin #控制臺登陸用戶名 export OS_PASSWORD=ADMIN_PASS #控制臺登陸密碼 export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://ct:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 EOF source ~/.bashrc9)、通過配置環境變量,可以使用openstack命令進行一些操作 openstack user list
四、創建OpenStack 域、項目、用戶和角色
#創建一個項目(project),創建在指定的domain(域)中,指定描述信息,project名稱為service(可使用openstack domain list 查詢) openstack project create --domain default --description "Service Project" service #創建角色(可使用openstack role list查看) openstack role create user#查看openstack 角色列表 openstack role list # admin為管理員 # member為 租戶 # user:用戶#查看是否可以不指定密碼就可以獲取到token信息(驗證認證服務) openstack token issue
總結
以上是生活随笔為你收集整理的传统公司部署OpenStack(t版)简易介绍(二)——Keystone组件部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存条价格大涨,电脑升级成本剧增
- 下一篇: OpenStack(二)——Keysto