OpenStack 入門

目錄

簡介

一、云計算與 OpenStack 基礎概念

1.1 云計算概述

1.2 OpenStack 簡介

二、OpenStack 單機環境部署

2.1 環境準備

2.2 部署前準備工作

2.3 在線部署 OpenStack(Train 版本)

三、通過 Dashboard 部署 OpenStack 的功能

3.1 登錄 Dashboard

3.2 Dashboard 界面功能解析

四、創建可聯網的云主機

4.1 創建私有網絡與路由

4.2 準備鏡像與創建實例

4.3 測試云主機連通性

五、總結


簡介

在云計算技術蓬勃發展的今天,OpenStack 作為開源云計算領域的標桿項目,已成為企業構建私有云的首選方案。本文將帶領讀者了解云計算基本概念,掌握 OpenStack 單機環境部署,并通過實戰創建一臺可聯網的云主機。

一、云計算與 OpenStack 基礎概念

1.1 云計算概述

云計算是一種基于網絡的超級計算模式,通過按需分配計算資源、存儲資源和網絡資源,實現資源的彈性擴展。就像使用水電一樣,用戶無需關心底層基礎設施,只需按需求付費使用。

云計算的三種服務模型:

  • IaaS(基礎設施即服務):提供服務器、存儲、網絡等底層硬件資源,用戶可自行安裝操作系統和應用(如 OpenStack)。
  • PaaS(平臺即服務):提供開發環境和平臺服務,面向開發人員(如 Heroku)。
  • SaaS(軟件即服務):直接提供可使用的軟件應用,面向普通用戶(如 Office 365)。
1.2 OpenStack 簡介

OpenStack 是由 Rackspace 和 NASA 于 2010 年發起的開源項目,目標是提供簡單、可擴展的云平臺解決方案。它通過模塊化設計管理數據中心的計算、存儲和網絡資源,目前已成為全球最流行的 IaaS 開源項目。

OpenStack 核心服務組件:

服務

功能描述

Nova

計算服務,管理虛擬機生命周期,支持 KVM 等多種虛擬化技術

Neutron

網絡服務,為虛擬機創建網絡拓撲,實現租戶網絡隔離

Keystone

身份認證服務,管理用戶、租戶和角色的認證與授權

Horizon

控制面板服務,提供 Web 管理界面與底層服務交互

Glance

鏡像服務,管理虛擬機鏡像的注冊與分發

Cinder

塊存儲服務,為虛擬機提供持久化存儲設備

Swift

對象存儲服務,提供彈性分布式存儲,支持集群無單點故障

Ceilometer

計量服務,監控和度量資源使用情況,為計費提供數據支持

二、OpenStack 單機環境部署

2.1 環境準備

硬件要求(最低配置):

  • CPU:4 核 64 位處理器(支持硬件虛擬化)
  • 內存:8GB
  • 磁盤空間:30GB
  • 網絡:1 個 1Gbps 網卡

軟件環境:

  • CentOS 7.3 最小化安裝
  • 靜態 IP 地址配置(示例:192.168.9.137)
2.2 部署前準備工作

1. 配置靜態 IP 與主機名

# 修改主機名
hostnamectl set-hostname openstack
bash  # 使主機名立即生效# 配置靜態 IP(示例配置,根據實際環境修改)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 添加以下內容(注意不要包含 DOMAIN 配置)
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.9.137
PREFIX=24
GATEWAY=192.168.9.1
DNS1=114.114.114.114

解釋:靜態 IP 確保主機網絡地址固定,便于后續訪問;主機名設置為 ??openstack?? 便于識別。

2. 關閉防火墻與 SELinux

# 關閉防火墻并禁用開機啟動
systemctl stop firewalld
systemctl disable firewalld# 禁用 SELinux
vi /etc/selinux/config
# 修改為 SELINUX=disabled
setenforce 0  # 立即生效

解釋:防火墻和 SELinux 可能阻止 OpenStack 組件間的通信,生產環境需謹慎配置規則,測試環境可暫時關閉。

3. 禁用 NetworkManager 并配置 hosts

# 禁用 NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager# 添加 hosts 綁定
vi /etc/hosts
# 添加以下內容
192.168.9.137 openstack

解釋:NetworkManager 可能與 OpenStack 網絡配置沖突;hosts 綁定確保主機名與 IP 對應,避免云主機訪問問題。

4. 更新系統與安裝常用工具

yum -y update  # 更新系統包
yum -y install vim wget net-tools lrzsz  # 安裝常用工具

解釋:確保系統為最新狀態,安裝必要工具便于后續操作。

2.3 在線部署 OpenStack(Train 版本)

1. 安裝 OpenStack 源

yum install -y centos-release-openstack-train

解釋:添加 OpenStack Train 版本的官方 YUM 源,包含該版本所有組件包。

2. 安裝 packstack 部署工具

yum install -y openstack-packstack

解釋:packstack 是 OpenStack 官方提供的一鍵部署工具,通過 Puppet 自動化部署所有組件。

3. 執行一鍵部署

packstack --allinone

解釋:??--allinone?? 參數表示在單節點部署所有 OpenStack 組件,部署過程中會自動配置數據庫、消息隊列、各服務 API 等。

4. 部署后網絡配置

# 查看網絡接口
ifconfig br-ex  # 虛擬網橋 br-ex 已自動創建# 復制物理網卡配置到 br-ex
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br-ex# 修改 br-ex 配置
vi /etc/sysconfig/network-scripts/ifcfg-br-ex
# 保留以下關鍵配置
TYPE=Ethernet
BOOTPROTO=none
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=172.24.4.1
PREFIX=24# 重啟網絡服務
systemctl restart network

解釋:br-ex 是 OpenStack 的外部網絡網橋,配置固定 IP 確保外部網絡連通性。

三、通過 Dashboard 部署 OpenStack 的功能

3.1 登錄 Dashboard

部署完成后,在瀏覽器中訪問 ??http://192.168.9.137/dashboard???,登錄憑據存儲在 ??keystonerc_admin?? 文件中:

cat keystonerc_admin
# 輸出包含用戶名和密碼
export OS_USERNAME=admin
export OS_PASSWORD=81a7af7313ce46d2  # 實際密碼以生成的為準
3.2 Dashboard 界面功能解析

1. 項目(Project)標簽頁

  • 計算:管理虛擬機實例、鏡像、密鑰對
  • 網絡:創建虛擬網絡、路由、安全組
  • :管理塊存儲卷和快照
  • 對象存儲:管理分布式存儲容器

2. 管理員(Admin)標簽頁

  • 擁有更高權限,可管理所有項目資源
  • 包含系統信息、服務狀態、資源配額等高級功能

3. 身份管理(Identity)

  • 管理用戶、租戶、角色和認證策略
  • 支持多租戶隔離和權限控制

四、創建可聯網的云主機

4.1 創建私有網絡與路由

1. 創建私有網絡

  1. 在 Dashboard 中依次點擊 項目 → 網絡 → 網絡 → 創建網絡
  2. 輸入網絡名稱 ??private??,勾選 創建子網
  3. 子網配置:
  • 網絡地址:??192.168.100.0/24??
  • 網關 IP:??192.168.100.1??
  • DHCP 地址池:??192.168.100.100-192.168.100.200??
  • DNS 服務器:??114.114.114.114??

2. 創建路由并關聯網絡

  1. 點擊 項目 → 網絡 → 路由 → 新建路由
  2. 路由名稱 ??my_route???,外部網絡選擇 ??public??
  3. 為路由添加內部接口:關聯到 ??private?? 網絡的子網
4.2 準備鏡像與創建實例

1. 上傳有效鏡像

# 下載 cirros 鏡像(示例,實際需使用有效鏡像)
wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img# 在 Dashboard 中創建鏡像:
# 名稱 `cirros01`,格式 `QCOW2`,可見性 `公有`

解釋:cirros 是輕量級 Linux 鏡像,用于測試,生產環境需使用完整操作系統鏡像。

2. 創建云主機實例

  1. 點擊 項目 → 計算 → 實例 → 創建實例
  2. 實例名稱 ??test???,選擇 ??cirros01?? 鏡像
  3. 實例類型選擇 ??m1.tiny??(1CPU, 512MB 內存, 1GB 磁盤)
  4. 網絡選擇 ??private?? 網絡
  5. 確認配置后點擊 創建實例
4.3 測試云主機連通性
  1. 進入實例控制臺,登錄用戶名 ??cirros???,密碼 ??gocubsgo??
  2. 查看 IP 配置:??ifconfig???,確認獲取到 ??192.168.100.XXX?? 地址
  3. 測試外網連通性:??ping -c 3 baidu.com??
  4. 若 ping 不通,檢查宿主機路由轉發:
# 開啟路由轉發
vi /etc/sysctl.conf
# 添加 net.ipv4.ip_forward = 1
sysctl -p  # 立即生效

五、總結

從云計算概念到 OpenStack 實戰的全流程體驗。OpenStack 的模塊化設計使其具備強大的擴展性,但生產環境部署需考慮:

  1. 多節點架構:將控制節點、計算節點、存儲節點分離,提升性能和可靠性
  2. 高可用性:配置數據庫集群、消息隊列集群和服務冗余
  3. 安全加固:細化防火墻規則,啟用 SELinux 策略,限制 API 訪問
  4. 監控與告警:集成 Ceilometer、Grafana 等工具監控資源使用和服務狀態

OpenStack 社區活躍且版本更新頻繁(每半年發布新版本),建議通過官方文檔和社區論壇持續學習,深入掌握各組件原理與高級配置,逐步從入門走向專業。

# 生產環境常用命令示例
openstack server list  # 查看所有實例
openstack network list  # 查看網絡列表
openstack volume create --size 10 my_volume  # 創建 10GB 卷

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/87347.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/87347.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/87347.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Git】關于項目開發分支的使用規范

背景 在項目開發過程中,往往一個優秀的產品都會出現不斷的版本迭代,我時常在項目發布后對于如何結合后續更新的業務場景在分支上的應用沒有一個很好的辦法,一直也比較苦惱。目前項目的迭代場景如下,一個A項目,經過需求…

msquic的windows版本編譯

首先確保安裝cmake和powershell(需要6以上,本人升級到了7.5),vs(本人用的vs2022) powershell,默認是5,會編譯不成功,所以附帶一個升級的流程 $PSVersionTable.PSVersion …

批量文件重命名工具 OncePower ,永久免費!

軟件介紹 適用于Windows OncePower是一款Windows批量重命名工具,支持基本及高級匹配重命名,無需復雜正則。特色包括匹配修改、長度截取、日期命名、前綴后綴修改及TXT文件導入。支持保留特定內容、批量移動文件和刪除空文件夾。可保存設置,…

Python入門Day6.1:異常處理

一、什么是異常(Exception)? 異常是指程序運行過程中出現的錯誤情況。比如: 打開一個不存在的文件0作為除數列表索引越界類型轉換失敗 二、基本結構:try...except try:# 可能出錯的代碼 except 錯誤類型:# 出錯時執…

C++中的標準模板(STL)

C中的核心標準模板包含:容器、迭代器、算法、函數對象、適配器。 1.容器 容器提供了各種數據結構,包括向量(vector)、鏈表(list)、隊列(queue)、棧(stack)、集合(set)、映射(map)等,可以根據實際需求選擇合適的容器。 容器分為三大類&…

excel 待辦日歷軟件(需要宏)特別推薦

Excel待辦日歷軟件是一款基于Excel表格的日程管理工具,能夠幫助用戶更高效地管理待辦事項和日程安排。用戶可以在軟件中創建不同的任務列表,以便更好地進行管理和跟蹤。軟件還提供了日歷視圖,用戶可以直觀地查看和安排每日的任務,…

激活函數-sigmoid、tanh、relu、softmax對比

激活函數是神經網絡的核心組件,用于引入非線性特性,使網絡能夠學習復雜模式。以下從定義、作用、分類及應用場景進行詳細解析: 🔍 ??一、定義?? 激活函數(Activation Function)是作用于神經元輸出的?…

三步走實現嵌入式硬件與軟件開發

目錄 ? 一、嵌入式硬件與軟件的邊界(為你后面每階段安排任務打基礎) ? 二、三階段開發策略規劃(以你的三步走為主線) ??階段1:確定能做 → 外包技術顧問協助選型 + 需求拆解 + 采購建議 適用角色 關鍵目標 如何管理? 工具推薦 ??階段2:會做一些 → 小范圍…

ubuntu運行cursor

一.CURSOR官網下載AppImage文件 https://www.cursor.com/en/download 二、解壓 AppImage 繞過掛載機制 解決:默認使用Cursor.AppImage 會自動掛載臨時目錄在/tmp目錄下,出現沒有權限掛載的報錯問題 若掛載點仍不可寫,直接解壓 AppImage 運…

PTA天梯賽L1 071-080題目解析

目錄 1.L1-071 前世檔案 2.L1-072 刮刮彩票 3.L1-073 人與神 4.L1-074 兩小時學完C語言 5.L1-075 強迫癥 6.L1-076 降價提醒機器人 7.L1-077 大笨鐘的心情 8.L1-078 吉老師的回歸 9.L1-079 天梯賽的善良 10.L1-080 乘法口訣數列 1.L1-071 前世檔案 解析:…

git常用操作 --- idea編譯器 --- 公司實戰版

前言 雖然git的命令方式很靈活,但是還是不夠人性化,不夠方便。 如果對git操作不熟練特別容易犯迷,可能敲一會命令就不知道當前在干什么了,下一步要干什么。 下面,我將演示在Java開發中使用最常用最經典的idea編譯器來進行git操作,非常人性化和方便。 如果沒有安裝git和初始…

window顯示驅動開發—流輸出階段

流輸出 (SO) 階段可以在這些頂點到達光柵器之前將頂點流式傳輸到內存。 流輸出的運行方式類似于管道中的點擊。 即使數據繼續向下流向光柵器,也可以打開此點擊。 通過流輸出發送的數據連接到緩沖區。 這些緩沖區可以在后續傳遞上作為管道輸入進行循環。 流輸出的一…

備份docker desktop中的opengauss數據庫

文章目錄 備份docker desktop中的opengauss數據庫一、前提條件二、備份步驟三、注意事項四、自動化備份(可選)五、驗證備份 備份docker desktop中的opengauss數據庫 ? 以下是在 Docker Desktop 中備份 OpenGauss 數據庫(以你的環境為例&…

實時中值濾波 + 低通濾波 示例程序(STM32環境)

一、功能概述 本示例實現兩個濾波器: 中值濾波器(Median Filter):對短期異常值(如尖峰噪聲)有良好的抑制能力;低通濾波器(Low-Pass Filter):對數據進行平滑…

AtCoder Beginner Contest 409 題解

本文為AtCoder Beginner Contest 409 的詳細題解 目錄 題目A: 題目大意: 解題思路: 代碼(C): 題目B: 題目大意: 解題思路: 代碼(C): 題目C: 題目大意: 解題思路: 代碼(C): 題目D: 題目大意: 解題思路: 代碼(C): 題目E: 題目大意: 解題思路: 代碼(C): 題目A…

Spring @Environment 典型用法

簡單說:Spring 里沒有直接叫 Environment 的注解,更準確說常用的是 Autowired 注入 Environment 對象,或者結合 Value 配合 Environment 讀取配置 。 支持從以下來源讀取: 1、application.properties / .yaml 2、JVM 參數&#xf…

【集合與結構體】5.2(課本題)總結代碼

ds老師產物&#xff0c;純為期末復習&#xff0c;自用。 題目1 編寫程序&#xff0c;將一個整型變量右移 4 位&#xff0c;并以二進制數形式輸出該整數在移位前和移位后的數值。 //觀察系統填補空缺的數位情況 代碼解答 #include <iostream>//編寫程序&#xff0c;將一個…

16.max/min最大最小值函數

1.基本使用 max/min函數返回滿足where條件的一列的最大/最小值。 select max(column_name)|min(column_name) from table_namewhere where_definition 示例&#xff1a; ①求班級總分的最高分 #求班級總分的最高分 SELECT MAX(math_scorechinese_scoreenglish_score)AS 總分…

需要做一款小程序,用來發券,后端如何進行設計能夠保證足夠安全?

溫馨提示&#xff1a;本文由ai生成&#xff0c;請辨別閱讀&#xff0c;本文僅提供一種思考的方式和設計思路 設計一個安全的后端系統&#xff0c;用于發放優惠券的小程序&#xff0c;需要考慮多個安全層面&#xff0c;包括身份驗證、數據安全、API 安全、以及防止常見攻擊&…

ACM設計平臺-核心模塊解析-趙家康

負責模塊解析-趙家康 一、Login.vue 功能邏輯、數據綁定、表單驗證、與后端交互 Vue 登錄頁面的代碼設計 代碼功能概覽 代碼實現了一個典型的登錄頁功能&#xff0c;核心包括&#xff1a; 表單輸入&#xff08;學號、用戶名、密碼、驗證碼&#xff09; 驗證碼生成與校驗 勾…