(2)mitaka版本安裝入口
ntp'協議' 123'端口' chronyd'服務' --->時間同步
二 控制節點安裝
(1)時間同步--->部署不成功的因素!
'控制節點'和'其它節點'時間同步配置略微不一樣--->查看'時間同步'的效果
時間同步:涉及一個keystone'密鑰過期'的問題(時間不同步,超前或落後)
(2)安裝openstack的基礎包
由於不同的發佈日程,發行版發佈 OpenStack 的包作爲發行版的一部分'官方源是支持的',或使用其他方式。請在所有節點上執行這些程序。
7.7的最新的openstack源-->cloud是'雲計算'的含義
http://mirrors.aliyun.com/centos/7.7.1908/cloud/x86_64/
'官方不支持比較舊的源了,所以看不到M版的'
插曲:openstack版本的說明
'每半年發佈一次',從A開始,按字母順序遞增,D之前沒辦法安裝成功,從D版才能裝成功,之前是'編譯安裝'
F和G版(2013)纔開始'穩定'--->老一點的公司基於openstack進行'二次開發'選用的是'這兩個版本'
問題:'官方bug穩定了',搞大半年才穩定,'穩定就好',不需要升級
openstack'最火'的時候是2016年,所以最火的是'M版'和'L'版本
後面的版本實在升不動了('迭代太快,跟不上節奏')
M版官方已經不提供源了,從'其它途徑'獲取
'M版本'支持到'2017-09-19'並且是在'7.3中,之後沒有了'
注意:升級的問題 --->yum upadte -->本來'沒問題','升級後出現問題了'!
'extras資源庫'-->裏面有opensatck的相關安裝包-->
yum install epel-release -y
# 開啓後,可以按照如下的方式開啓openstack相關的版本'不推薦'
yum install centos-release-openstack-rocky
##################################
centos需要做的兩步('所有節點都需要安裝'):
(1)yum install python-openstackclient --->安裝客戶端
(2)yum install openstack-selinux --->selinux問題
'前提':講openstack的'某個版本'製作成了'本地源'
yum源
[openstack-mitaka]
name=openstack-mitaka
baseurl=http://vault.centos.org/7.3.1611/cloud/x86_64/openstack-mitaka
enabled=1
gpgcheck=0
# 底層虛擬化
[qume-kvm]
name=qemu-kvm
baseurl=http://mirrors.aliyun.com/centos/7.7.1908/virt/x86_64/kvm-common
enabled=1
gpgcheck=0
接下來:以下所有的操作跟計算節點沒有一毛錢關係(把計算節點關掉)
yum install mariadb mariadb-server python2-PyMySQL -y
# 說明-->'是否可以將mariadb改成mysql'
openstack'所有的組件'都是'用python開發',要與數據庫連接,必須'安裝python的mysl模塊;python2-PyMySQL '
##############分割線
創建並編輯 '/etc/my.cnf.d/openstack.cnf',然後完成如下動作--->算是'mysql的子配置文件'
在 [mysqld] 部分,設置 "bind-address"控制節點的管理網絡IP地址以使得其它節點可以通過管理網絡訪問數據庫:
[mysqld]
# ...省略號表示'在之前'的上面追加(不刪除之前的內容)
...
# 監聽地址-->controller的ip或者hostname
bind-address = x.x.x.x
在'[mysqld]'部分,設置如下鍵值來啓用一起有用的選項和 UTF-8 字符集:
[mysqld]
...
# 存儲引擎
default-storage-engine = innodb
# 獨立表空間文件
innodb_file_per_table
# 最大連接數
max_connections = 4096
# 字符集相關的
collation-server = utf8_general_ci
character-set-server = utf8
openstack參考官方文檔'原因':'後續可以安裝其他版本的'
##############分割線
'啓動數據庫服務',並將其'配置爲開機自啓'
systemctl enable mariadb.service
systemctl start mariadb.service
##############分割線
爲了保證數據庫服務的安全性,運行"mysql_secure_installation"腳本。
'特別需要說明'的是,爲數據庫的root用戶設置一個適當的密碼
# 沒有安全初始化的坑-->y('設置root密碼')yyyy
mysql_secure_installation
注意:openstack mysql沒有安全初始化的坑
NOSQL不安裝原因:是openstack'相關計費服務'安裝,openstack定位爲'私有云',就不需要安裝了
openstack支持多種消息隊列-->'常見rabbitmq'
yum install rabbitmq-server -y
###########分割線
# 啓動消息隊列服務並將其配置爲隨系統啓動:
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
###########分割線
'rabbitmq的作用':創建一個用戶,讓openstack'所有的服務'都可以使用消息隊列
# 添加 openstack 用戶-->創建一個用戶
rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
...done.
# 用合適的密碼替換 RABBIT_DBPASS
'注意':如果該步驟'失敗',檢查主機名'是不是controller'
###########分割線
給'openstack'用戶配置寫和讀權限-->'授權'
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.
# 這三個權限與rabitmq關係
'裝memcached的原因'-->'令牌token緩存下來'
用戶每次登陸,都會分派給他一塊令牌,這個'令牌得緩存下來',要不'用戶每次都要認證','效率比較低'
認證服務認證緩存'使用Memcached緩存令牌'
緩存服務memecached運行在'控制節點'
在生產部署中,我們推薦聯合啓用防火牆、認證和加密保證它的安全
######### 分割線
# 安裝軟件包-->默認是監聽在localhost上'迴環地址,只能自己訪問',需要修改爲某些網段的ip
yum install memcached python-memcached -y
# 編輯配置文件 /etc/sysconfig/memcached
OPTIONS修改監聽--> '-l 10.10.0.11'
# 啓動Memcached服務,並且配置它隨機啓動。
systemctl enable memcached.service
systemctl start memcached.service
memcached啓動前進行配置
# 默認監聽的端口
PORT="11211"
# 啓動用戶
USER="memcached"
# 最大連接數
MAXCONN="1024"
# 內存
CACHESIZE="64"
# 監聽請求的ip
OPTIONS="-l 172.25.2.1"
大檢查:檢查服務開啓
netstat -lntup