因工作需要接觸openstack(Mitaka),故搭建一個測試環(huán)境學(xué)習(xí)一下。
員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。成都創(chuàng)新互聯(lián)公司堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序制作,軟件按需網(wǎng)站制作等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。本文為安裝過程手順,根據(jù)開源社區(qū)安裝手冊編寫,安裝過程中碰到問題也參考了不少網(wǎng)上資料,感謝各路大神的文檔!
第一次部署,如有不對之處,還請大神留言指正!
本文適合第一次安裝部署的新手,不要認(rèn)為openstack很高大上,遙不可及而心生畏懼!
好好看看開源社區(qū)的安裝手冊(https://docs.openstack.org/zh_CN/),一臺8G內(nèi)存的筆記本電腦就可以讓你開始實驗了!
我的筆記本電腦配置較低:
ThinkPad 翼480 i5-8250U 8G內(nèi)存 256G SSD+500G SSD(簡化版T480,心水T480啊!)
VM 15 開了兩個虛擬機(jī)
操作系統(tǒng):CentOS 7.3 (1611)
控制節(jié)點:內(nèi)存4G、硬盤100G(不要糾結(jié)硬盤大小,用不了那么多的,實際也就十幾GB而已?。?/p>
計算節(jié)點:內(nèi)存2G、硬盤100G? ?--除控制服務(wù)外,其他服務(wù)均安裝在這個節(jié)點
網(wǎng)絡(luò)規(guī)劃:? VM給controller節(jié)點分配三塊網(wǎng)卡:
1、僅主機(jī)模式:111.111.111.0/24 --管理網(wǎng)絡(luò)
2、自定義VMnet2模式:192.168.111.0/24? --provider網(wǎng)絡(luò)
yum源地址:
http://vault.centos.org/centos/7.3.1611/cloud/x86_64/openstack-mitaka? 869+1200common
http://vault.centos.org/centos/7.3.1611/extras/x86_64? ? ? ? ? ? ? ?451
http://vault.centos.org/centos/7.3.1611/virt/x86_64/kvm-common? ? 89
http://vault.centos.org/centos/7.3.1611/storage/x86_64/ceph-hammer? ?71
http://vault.centos.org/centos/7.3.1611/os/x86_64/Packages/
有幾個python包,是從https://pkgs.org/ 站點下載。
1、基礎(chǔ)環(huán)境準(zhǔn)備
配置范圍:所有節(jié)點
1.1、配置host文件
111.111.111.201 controller
111.111.111.202 computer01
1.2、配置本地yum源
我已經(jīng)將安裝包都下載到了本地,所以使用離線yum源安裝
同時將離線包所在目錄做成web站點,這樣計算節(jié)點可以直接配置http的yum源
1.3、安裝時間同步服務(wù)
安裝范圍:所有節(jié)點
1.3.1、安裝chrony包
# yum install chrony -y
1.3.2、啟動同步服務(wù)
# systemctl enable chronyd
# systemctl restart chronyd
# systemctl status chronyd
1.3.3、防火墻設(shè)置
第一次部署,關(guān)閉防火墻和selinux
1.3.4、配置Chrony
# vi /etc/chrony.conf
如上圖所示,將默認(rèn)的server全部注釋掉,然后添加本機(jī)IP,在其他客戶機(jī)也是這樣配置
為了允許其他節(jié)點可以連接到控制節(jié)點的 chrony 后臺進(jìn)程,在``/etc/chrony.conf`` 文件添加下面的鍵:
allow 111.111.111.0/24
啟動 NTP 服務(wù)并將其配置為隨系統(tǒng)啟動:
# systemctl enable chronyd.service
# systemctl start chronyd.service
1.4、安裝openstack最新的源
安裝范圍:所有節(jié)點
yum install centos-release-openstack-mitaka
yum install https://rdoproject.org/repos/rdo-release.rpm? ---本次操作不能執(zhí)行這一步,否則新增的repo文件指向的是T版本的openstack
yum upgrade (更新源)? ?--本步驟需要先移除預(yù)裝的mariadb的包,否則報錯 :yum remove mariadb-libs
yum install python-openstackclient(安裝opentack必須的插件)
yum install openstack-selinux(可選則安裝這個插件,我直接關(guān)閉了selinux,因為不熟,對后續(xù)不會有影響)
說明:如果使用自定義源,那么上面centos和redhat的操作可以省略
1.5、部署mariadb數(shù)據(jù)庫
控制節(jié)點:
安裝報錯,經(jīng)查資料懷疑是自帶的Mariadb干擾了
如圖查到了自帶的mariadb包,全部移除
# yum remove mariadb* -y
yum install mariadb mariadb-server python2-PyMySQL -y
編輯:
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 111.111.111.201
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
啟服務(wù):
# systemctl enable mariadb
# systemctl start mariadb
# systemctl status mariadb
mysql_secure_installation
先是設(shè)置密碼,會提示先輸入密碼
Enter current password for root (enter for none):? <–初次運行直接回車
設(shè)置密碼 : P@ssw0rd
Set root password? [Y/n]? ?<– 是否設(shè)置root用戶密碼,輸入y并回車或直接回車
New password:? ?<– 設(shè)置root用戶的密碼
Re-enter new password:? ?<– 再輸入一次你設(shè)置的密碼
其他配置
Remove anonymous users? [Y/n]? ?<– 是否刪除匿名用戶,Y,回車
Disallow root login remotely? [Y/n]? ?<–是否禁止root遠(yuǎn)程登錄,N,回車,
Remove test database and access to it? [Y/n]? ?<– 是否刪除test數(shù)據(jù)庫,n,回車
Reload privilege tables now? [Y/n]? ?<– 是否重新加載權(quán)限表,回車
初始化MariaDB完成
1.6、為Telemetry 服務(wù)部署MongoDB
控制節(jié)點:
# yum install mongodb-server mongodb -y
編輯:vi /etc/mongod.conf
bind_ip = 111.111.111.201
smallfiles = true
啟動服務(wù):
# systemctl enable mongod
# systemctl start mongod
1.7、部署消息隊列rabbitmq
控制節(jié)點:
# yum install rabbitmq-server -y
啟動服務(wù):
# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server
新建rabbitmq用戶密碼:
# rabbitmqctl add_user openstack P@ssw0rd
刪除了guest用戶:
# rabbitmqctl delete_user guest
為新建的用戶openstack設(shè)定權(quán)限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
啟動管理WEB
rabbitmq-plugins enable rabbitmq_management
(驗證方式:http://111.111.111.201:15672/ 用戶:openstack 密碼:P@ssw0rd)
但是登陸失敗如紅框所示:Login failed
為什么呢?因為不是管理員?。?/p>
rabbitmqctl set_user_tags openstack administrator
如下圖所示,將openstack用戶添加為管理員后就登陸成功了!
1.8、部署memcached緩存(為keystone服務(wù)緩存tokens)
控制節(jié)點:
# yum install memcached python-memcached -y
cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="10240"
CACHESIZE="64"
#OPTIONS="-l 127.0.0.1,::1"
OPTIONS="-l 0.0.0.0"
疑問:這一步在官方文檔里是不修改OPTIONS選項的,默認(rèn)就是127.0.0.1那一行
啟動服務(wù):
# systemctl enable memcached
# systemctl start memcached
基礎(chǔ)環(huán)境準(zhǔn)備完畢!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。