openstack前置安裝與問題記錄
安裝openstack
下圖顯示了 OpenStack 服務之間的關係:
邏輯架構:
前置環境安裝:
官方文件網址:https://docs.openstack.org/zh_CN/
1. 配置域名解析:
控制器節點 controller.
計算節點 compute1
塊儲存 block1
物件儲存 object1
2. 安裝ntp時間同步服務(無外網環境):
apt-get install chrony
配置控制節點
Vim /etc/chrony/chrony.conf
server NTP_SERVER iburst
allow 172.18.0.0/24 #允許其他節點能夠連線到控制器的守護程式
systemctl restall chrony
其他幾點配置:
apt-get install chrony
vim /etc/chrony/chrony.conf
server controller iburst #同步控制器時間
systemctl restart chrony
systemctl enable chrony
驗證ntp同步:
Chrony sources
3. 歸檔啟用,需要再所有節點上完成:
Nova-compute
管理虛機的核心服務,通過呼叫 Hypervisor API 實現虛機生命週期管理
https://docs.openstack.org/install-guide/environment-packages-ubuntu.html
用於 Ubuntu 20.04 LTS 的 OpenStack Wallaby:
add-apt-repository cloud-archive:wallaby
安裝:
apt install nova-compute
4. 安裝memcached並配置以允許其他節點通過管理網路訪問:
apt install memcached python-memcache
vim /etc/memcached.conf
-1 172.18.0.0/2(管理端ip)
Systemctl restart memcached
5. Etcd OpenStack 服務可以使用 Etcd,這是一種分散式可靠鍵值儲存,用於分散式鍵鎖定、儲存配置、跟蹤服務活動性和其他場景。
apt install etcd
vim /etc/default/etcd
編輯/etc/default/etcd檔案並將ETCD_INITIAL_CLUSTER, ETCD_INITIAL_ADVERTISE_PEER_URLS, ETCD_ADVERTISE_CLIENT_URLS, 設定ETCD_LISTEN_CLIENT_URLS為控制器節點的管理 IP 地址,以允許其他節點通過管理網路訪問:
TCD_NAME="controller"
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379
問題:
- 清除已啟用節點,openstack compute service list --service nova-compute 檢視到有已經不使用節點,需在資料庫中清除
a) 檢視殭屍節點select uuid,host from nova.compute_nodes where host='yulore1';
i. 刪除nova庫中compute表中殭屍程序的資料
ii. 刪除nova庫中services表中殭屍程序資料
- 控制節點同時作為計算節點需要配置nova.conf中新增
a) 在[vnc]部分中啟用遠端控制檯訪問:
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
- Openstack安裝好後無法登入,提示認證失敗
a) 需要修改vim /etc/openstack-dashboard/local_settings.py
i. #OPENSTACK_KEYSTONE_URL = "http://%s/identity/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
修改此條可以正常登入
由於公司打算從cloudstack平臺更換為openstack,所以遇到的問題後面會更新。安裝各個元件的沒有寫,安裝各個元件還是手動去官網安裝一遍的好一些