文章目錄
- 1. 鏡像(Image)
- 添加鏡像
- 查看鏡像
- 刪除鏡像
- 2. 卷(Volume)
- 創建卷
- 查看卷
- 刪除卷
- 3. 網絡(虛擬網絡)
- 創建網絡
- 查看網絡
- 刪除網絡
- 4. 實例類型
- 創建實例類型
- 查看實例類型
- 刪除實例類型
- 4. 密鑰對(Key Pair)
- 創建密鑰對
- 4. 安全組(Security Group)
- 4. 實例(Instance)
- 創建實例
- 查看實例
- 連接實例
- 連接卷
- 刪除實例
- 5. 快照(Snapshot)
- 總結
在前幾篇文章中,完成了 OpenStack 的部署。本篇將聚焦于基礎使用,快速熟悉 OpenStack Dashboard 上的主要功能模塊。
1. 鏡像(Image)
鏡像是虛擬機的操作系統模板,用于快速創建實例,是云平臺中的“操作系統安裝盤”。
添加鏡像
點擊 創建鏡像
點擊下載 CentOS-7-x86_640GenericCloud-2009.qcow2(官方) 或
又或到 CentOS官方云鏡像 下載

卷是提供給實例的動態存儲設備,用于保存數據并支持獨立管理,就像虛擬機的“硬盤”。
創建卷
查看卷
刪除卷
不細講了,點擊就是刪除
3. 網絡(虛擬網絡)
虛擬網絡是為實例提供通信和聯網能力的橋梁,負責管理內外網連接及安全策略。
創建網絡
管理員 -> 網絡 -> 網絡 -> 創建網絡
等同于在 Controller 節點
上執行如下命令:
# 網絡
openstack network create --share --external --provider-physical-network provider --provider-network-type flat vlr-net
# 子網
openstack subnet create --network vlr-net --allocation-pool start=192.168.62.100,end=192.168.62.200 --dns-nameserver 114.114.114.114 --gateway 192.168.62.2 --subnet-range 192.168.62.0/24 subnet
查看網絡
刪除網絡
不細講了,點擊就是刪除
4. 實例類型
實例類型是定義虛擬機規格的模板,用于指定實例的CPU、內存和磁盤資源配置,幫助管理員靈活分配計算資源。
創建實例類型
管理員 -> 計算 -> 實例類型 -> 創建實例類型
等同于在 Controller 節點
上執行如下命令:
openstack flavor create --id auto --vcpus 1 --ram 1024 --disk 10 mini
查看實例類型
刪除實例類型
不細講了,點擊就是刪除
4. 密鑰對(Key Pair)
密鑰對是實例的安全認證工具,用于通過 SSH 登錄保護虛擬機,替代傳統密碼。
公鑰用于分發給他人,私鑰則由自己保管。當實現免密登錄時,自己連接到目標主機時,目標主機會用存儲的公鑰驗證你的私鑰
,匹配成功即可完成免密登錄。
創建密鑰對
有兩種方法:
-
ssh-keygen 命令創建并上傳
# 按 yssh-keygen -t ed25519 -b 2048 -N ""
在 ~/.ssh/
目錄下會生成 id_ed25519
和 id_ed25519.pub
兩個文件(根據加密方式命名的),將 id_ed25519.pub
上傳到 OpenStack 即可,項目->計算->密鑰對->導入密鑰
- Dashboard 創建密鑰對
項目->計算->密鑰對->創建密鑰->密鑰類型(SSH密鑰)
會生成一個后綴為pem
的文件提供下載
這個pem
文件和私鑰一樣可用于驗證公鑰,但不是私鑰
4. 安全組(Security Group)
安全組是虛擬防火墻規則的集合,用于定義實例的網絡訪問權限,通過控制入站和出站流量確保網絡安全。
在默認安全組下追加以下規則:
4. 實例(Instance)
實例是通過鏡像創建的虛擬機,用于運行應用或任務,是云平臺的核心資源。
創建實例
管理員 -> 計算 -> 實例 -> 創建實例
查看實例
連接實例
- ssh 免密連接
ssh -i '密鑰.pem' centos@192.168.62.107
- 宿主機直連
進入 compute 節點:
# 查看虛擬機編號
virsh list
# 進入虛擬機(如:12)
virsh console 12
5. 密碼連接(失敗)
- ssh 密碼直連
部分官方.qcow2
鏡像支持通過腳本修改密碼
在創建新虛擬機時,配置->定制化腳本
,輸入如下:
#cloud-config
ssh_pwauth: True
password: lian
chpasswd:list: |root:lianexpire: False
看網上的說法,似乎qemu是不會生效,kvm虛擬化才會生效,所以無法修改。
- 控制臺(失敗)
點擊實例名字進去控制臺
后,發現報錯
Something went wrong, connection is closed
查看日志:
tail -f /var/log/nova/nova-novncproxy.log
code 400, message Client must support 'binary' or 'base64' protocol
修改內核協議解決:
vim /usr/share/novnc/core/websock.js
# 修改open(uri, protocols) {#this.attach(new WebSocket(uri, protocols));this.attach(new WebSocket(uri, ['binary','base64']));}
參考鏈接:
https://blog.csdn.net/sikoutang/article/details/138336726
https://blog.csdn.net/qq_41786090/article/details/131366053
https://github.com/novnc/noVNC/issues/1276
https://techglimpse.com/openstack-novnc-code-400-base64-protocol-error/
然后控制臺就進入到 loading 了,沒日志,網上也沒相同情況,就沒辦法處理,可能是 qemu
或者 Openstack 版本
又或者是 瀏覽器版本
原因。
連接卷
就是添加硬盤到虛擬機上的意思,如下:
重啟后,使用 lsblk
命令查看會發現多一塊硬盤
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
|-vda1 252:1 0 10G 0 part /
`-vda15 252:15 0 8M 0 part
vdb 252:16 0 10G 0 disk
刪除實例
不細講了,點擊就是刪除
注:
- 不確定是openstack版本問題還是瀏覽器問題, 創建實例 按鈕老是消失,
刷新+換瀏覽器+無痕模式
解決- 用的是 qemu 虛擬化而不是 kvm,
定制腳本
不會生效- 曾在 debug 的時候將 compute 節點刪了再加入,Dashboard 頁面的 創建實例 按鈕也會消失,通過 openstack server create 命令創建實例(運行失敗),
查看日志才知道說計算節點 compute 同名了
,這里要注意一下
5. 快照(Snapshot)
快照是實例狀態和數據的備份文件,用于恢復、模板制作或版本管理。
與 VMware WorkStation 、 VMware Vsphere 不同,這里快照拍完后,直接出現在
鏡像
那了,使用方式與鏡像一樣直接就創建虛擬機了,實例無法通過快照恢復,但能通過快照創建新的虛擬機。
總結
通過本文的介紹,大家完成了OpenStack基礎資源的部署與管理,包括鏡像、卷、網絡、實例等,幫助大家對OpenStack的主要功能有了初步認識,并掌握了如何通過Dashboard和命令行進行常見操作。