十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
因工作需要接觸openstack(Mitaka),故搭建一個測試環(huán)境學(xué)習(xí)一下。
目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、瀘縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
本文為安裝過程手順,根據(jù)開源社區(qū)安裝手冊編寫,安裝過程中碰到問題也參考了不少網(wǎng)上資料,感謝各路大神的文檔!
第一次部署,如有不對之處,還請大神留言指正!
本文適合第一次安裝部署的新手,不要認(rèn)為openstack很高大上,遙不可及而心生畏懼!
好好看看開源社區(qū)的安裝手冊(https://docs.openstack.org/zh_CN/),一臺8G內(nèi)存的筆記本電腦就可以讓你開始實(shí)驗(yàn)了!
我的筆記本電腦配置較低:
ThinkPad 翼480 i5-8250U 8G內(nèi)存 256G SSD+500G SSD(簡化版T480,心水T480啊!)

VM 15 開了兩個虛擬機(jī)

操作系統(tǒng):CentOS 7.3 (1611)
控制節(jié)點(diǎn):內(nèi)存4G、硬盤100G(不要糾結(jié)硬盤大小,用不了那么多的,實(shí)際也就十幾GB而已?。?/p>
計(jì)算節(jié)點(diǎn):內(nèi)存2G、硬盤100G? ?--除控制服務(wù)外,其他服務(wù)均安裝在這個節(jié)點(diǎn)
網(wǎng)絡(luò)規(guī)劃:? VM給controller節(jié)點(diǎn)分配三塊網(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/ 站點(diǎn)下載。
1、基礎(chǔ)環(huán)境準(zhǔn)備
配置范圍:所有節(jié)點(diǎn)
1.1、配置host文件
111.111.111.201 controller
111.111.111.202 computer01
1.2、配置本地yum源
我已經(jīng)將安裝包都下載到了本地,所以使用離線yum源安裝
同時將離線包所在目錄做成web站點(diǎn),這樣計(jì)算節(jié)點(diǎn)可以直接配置http的yum源

1.3、安裝時間同步服務(wù)
安裝范圍:所有節(jié)點(diǎn)
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é)點(diǎn)可以連接到控制節(jié)點(diǎn)的 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é)點(diǎn)
?yum install centos-release-openstack-mitaka
?yum install https://rdoproject.org/repos/rdo-release.rpm? ---本次操作不能執(zhí)行這一步,否則新增的repo文件指向的是T版本的openstack
?yum upgrade (更新源)? ?--本步驟需要先移除預(yù)裝的mariadb的包,否則報(bào)錯 :yum remove mariadb-libs
?yum install python-openstackclient(安裝opentack必須的插件)
?yum install openstack-selinux(可選則安裝這個插件,我直接關(guān)閉了selinux,因?yàn)椴皇?,對后續(xù)不會有影響)
說明:如果使用自定義源,那么上面centos和redhat的操作可以省略
1.5、部署mariadb數(shù)據(jù)庫
控制節(jié)點(diǎn):
安裝報(bào)錯,經(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):? <–初次運(yùn)行直接回車
設(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é)點(diǎn):
# 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、部署消息隊(duì)列rabbitmq
控制節(jié)點(diǎn):
# 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

(驗(yàn)證方式:http://111.111.111.201:15672/ 用戶:openstack 密碼:P@ssw0rd)

但是登陸失敗如紅框所示:Login failed
為什么呢?因?yàn)椴皇枪芾韱T??!
rabbitmqctl set_user_tags openstack administrator

如下圖所示,將openstack用戶添加為管理員后就登陸成功了!

1.8、部署memcached緩存(為keystone服務(wù)緩存tokens)
控制節(jié)點(diǎn):
# 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選項(xiàng)的,默認(rèn)就是127.0.0.1那一行
啟動服務(wù):
# systemctl enable memcached
# systemctl start memcached
基礎(chǔ)環(huán)境準(zhǔn)備完畢!