OpenStack 雲計算平臺實戰 (微課版)
內容描述
本書系統講解了OpenStack雲計算平臺的安裝、配置、管理和運維方法。全書共9個項目,內容包括OpenStack安裝、OpenStack快速入門、OpenStack基礎環境配置與API使用、OpenStack身份管理、OpenStack鏡像管理與製作、OpenStack虛擬機實例管理、OpenStack網絡管理、OpenStack存儲管理,以及手動部署OpenStack的綜合演練。本書內容豐富,結構清晰,重點突出,難點分散,註重實踐性和可操作性,項目中的每個任務都有相應的操作示範,並穿插大量實例,便於讀者快速上手。
本書可作為高等院校電腦專業課程的教材,也適合軟件開發人員、IT實施和運維工程師學習OpenStack雲計算技術時閱讀參考,還可作為相關行業的培訓教材。
目錄大綱
項目一 OpenStack安裝 1
學習目標 1
項目描述 1
任務一 了解雲計算 1
任務說明 1
知識引入 1
1.什麼是虛擬化 1
2.什麼是雲計算 2
3.雲計算架構 2
4.雲計算的部署模式 3
5.裸金屬雲 3
任務實現 3
1.了解商用雲計算平台 3
2.了解開源雲計算平台 4
任務二 了解OpenStack項目 4
任務說明 4
知識引入 5
1.什麼是OpenStack 5
2. OpenStack項目及其組成 5
3. OpenStack的版本演變 7
4. OpenStack基金會與社區 7
任務實現 8
1.了解OpenStack應用場景 8
2.調查國內的OpenStack應用現狀 9
任務三 理解OpenStack架構 10
任務說明 10
知識引入 10
1. OpenStack的設計基本原則 10
2. OpenStack的概念架構 10
3. OpenStack的邏輯架構 11
4. OpenStack組件之間的通信機制 12
5. OpenStack的物理部署架構 13
6. OpenStack的物理網絡類型 14
任務實現 14
1.了解基於OpenStack構建雲平台的問題 14
2.了解部署OpenStack的技術需求 15
任務四 部署與安裝OpenStack 15
任務說明 15
知識引入 15
1.運行OpenStack的操作系統平台 15
2. OpenStack部署拓撲 16
3. OpenStack部署工具 16
任務實現 18
1.準備OpenStack安裝環境 18
2.準備所需的軟件庫 20
3.安裝Packstack安裝器 20
4.運行Packstack安裝OpenStack 21
項目實訓 24
項目實訓一 調查移動雲的現狀 24
實訓目的 24
實訓內容 24
項目實訓二 使用Packstack安裝器安裝一體化OpenStack雲平台 24
實訓目的 24
實訓內容 24
項目總結 24
項目二 OpenStack快速入門 25
學習目標 25
項目描述 25
任務一 熟悉OpenStack圖形界面操作 25
任務說明 25
知識引入 25
1. Horizon項目 25
2. Horizon與Django框架 26
3. Horizon功能架構 26
4.項目與用戶 27
任務實現 27
1.訪問OpenStack主界面 27
2.訪問“項目”儀表板 30
3.訪問“管理員”儀表板 30
4.訪問“身份管理”儀表板 31
5.訪問“設置”儀表板 32
6.自定義儀表板和麵板 32
任務二 創建和操作虛擬機實例 33
任務說明 33
知識引入 34
1.創建虛擬機實例的前提條件 34
2.虛擬機實例與鏡像 34
任務實現 34
1.準備鏡像 34
2.查看實例類型 37
3.查看網絡 37
4.添加安全組規則 37
5.添加密鑰對 39
6.創建虛擬機實例 40
7.操作和使用虛擬機實例 43
任務三 實現虛擬機與外部網絡的通信 45
任務說明 45
知識引入 46
1. OpenStack的虛擬網絡 46
2.浮動IP地址 46
任務實現 46
1.將OpenStack主機網卡添加到br-ex網橋上 46
2.調整網絡配置 49
3.為虛擬機實例分配浮動IP地址 53
4.在Linux計算機上通過SSH訪問虛擬機實例 54
5.在Windows計算機上通過SSH訪問虛擬機實例 55
6.為虛擬機實例設置用戶賬戶和密碼 57
項目實訓 58
項目實訓一 練習OpenStack圖形界面操作 58
實訓目的 58
實訓內容 58
項目實訓二 創建和測試Fedora虛擬機實例 59
實訓目的 59
實訓內容 59
項目實訓三 開通虛擬機實例的外部通信 59
實訓目的 59
實訓內容 59
項目實訓四 在Windows計算機中通過SSH證書登錄Fedora虛擬機實例 59
實訓目的 59
實訓內容 59
項目總結 59
項目三 OpenStack基礎環境配置與API使用 60
學習目標 60
項目描述 60
任務一 了解OpenStack基礎環境配置 60
任務說明 60
知識引入 60
1.數據庫服務器 60
2.消息隊列服務 61
任務實現 62
1.驗證SQL數據庫 62
2.操作SQL數據庫 64
3.驗證NoSQL數據庫 66
4.驗證RabbitMQ 66
5.操作RabbitMQ 66
任務二 了解並使用OpenStack API 67
任務說明 67
知識引入 67
1.什麼是RESTful API 67
2. OpenStack的RESTful API 68
3. OpenStack的認證與API請求流程 69
4.調用OpenStack API的方式 69
任務實現 70
1.獲取OpenStack認證令牌 70
2.向OpenStack雲平台發送API請求 72
任務三 使用OpenStack命令行客戶端 73
任務說明 73
知識引入 74
1.為什麼要使用命令行操作OpenStack 74
2.進一步了解OpenStack客戶端 74
3. openstack命令的語法 74
4.執行openstack命令所需的認證 75
任務實現 75
1.雲管理員通過openstack命令管理OpenStack雲平台 75
2.普通雲用戶通過openstack命令使用OpenStack雲服務 76
項目實訓 77
項目實訓一 使用cURL命令獲取實例列表 77
實訓目的 77
實訓內容 77
項目實訓二 使用openstack命令創建Fedora虛擬機實例 77
實訓目的 77
實訓內容 77
項目總結 77
項目四 OpenStack身份管理 78
學習目標 78
項目描述 78
任務一 理解身份服務 78
任務說明 78
知識引入 78
1. Keystone的基本概念 78
2. Keystone的主要功能 79
3. Keystone的管理層次結構 80
4. Keystone的認證流程 80
任務實現 82
1.查看當前的Identity API版本 82
2.通過API請求認證令牌 82
3.使用認證令牌通過API進行身份管理操作 84
任務二 管理項目、用戶和角色 85
任務說明 85
知識引入 85
1.進一步了解項目、用戶和角色 85
2.命令行的身份管理用法 86
3.專用的服務用戶 87
任務實現 87
1.管理項目 87
2.管理用戶 89
3.管理角色 91
4.查看服務的API端點 91
5.使用命令行進行身份管理操作 91
任務三 通過oslo. policy庫實現權限管理 94
任務說明 94
知識引入 94
1. OpenStack的oslo. policy庫 94
2. policy. json文件的語法 94
任務實現 95
1.編寫簡單的policy. json策略 95
2.解讀policy. json策略 95
項目實訓 97
項目實訓一 通過圖形界面管理項目、用戶和角色 97
實訓目的 97
實訓內容 97
項目實訓二 通過命令行管理項目、用戶和角色 97
實訓目的 97
實訓內容 97
項目總結 97
項目五 OpenStack鏡像管理與製作 98
學習目標 98
項目描述 98
任務一 理解OpenStack鏡像服務 98
任務說明 98
知識引入 98
1.什麼是鏡像 98
2.什麼是鏡像服務 99
3. Glance架構 99
任務實現 100
1.查看Glance配置文件 100
2.驗證Glance服務 101
3.試用鏡像服務的API 101
任務二 管理OpenStack鏡像 102
任務說明 102
知識引入 102
1.虛擬機鏡像的磁盤格式和容器格式 102
2.鏡像的狀態 103
3.鏡像的訪問權限 103
4.鏡像的元數據 104
5.命令行的鏡像管理方法 104
任務實現 105
1.獲取鏡像 105
2.查看鏡像 106
3.創建鏡像 107
4.管理鏡像 108
5.轉換鏡像格式 109
任務三 基於預製鏡像定制OpenStack鏡像 110
任務說明 110
知識引入 110
1.什麼是cloud-init 110
2.什麼是實例快照 110
任務實現 111
1.通過預製的OpenStack鏡像創建一個虛擬機實例 111
2.對實例進行定制 111
3.定制cloud-init初始化行為 112
4.為上述實例創建快照 112
5.測試實例快照 113
6.將實例快照轉換成鏡像 114
任務四 使用自動化工具製作OpenStack鏡像 115
任務說明 115
知識引入 115
1. Diskimage-builder工具 115
2.其他自動化鏡像生成工具 115
任務實現 116
1.安裝Diskimage-builder 116
2.熟悉Diskimage-builder的用法 116
3.使用Diskimage-builder自動構建Ubuntu操作系統鏡像 117
任務五 手動製作OpenStack鏡像 119
任務說明 119
知識引入 119
1.手動製作鏡像 119
2. KVM虛擬化工具 119
3. KVM虛擬磁盤(鏡像)文件格式 120
4. VirtIO驅動程序與Cloudbase-Init 120
任務實現 121
1.部署KVM 121
2.手動創建Windows Server 2012 R2操作系統鏡像 121
3.測試Windows Server 2012 R2操作系統鏡像 126
4.測試Cloudbase-Init初始化設置 127
5.解決Windows虛擬機實例時間不同步問題 128
項目實訓 129
項目實訓一 通過命令行界面完成鏡像的基本操作 129
實訓目的 129
實訓內容 129
項目實訓二 基於預製鏡像定制Ubuntu操作系統雲鏡像 129
實訓目的 129
實訓內容 130
項目總結 130
項目六 OpenStack虛擬機實例管理 131
學習目標 131
項目描述 131
任務一 理解OpenStack計算服務 131
任務說明 131
知識引入 131
1.什麼是Nova 131
2. Nova所用的虛擬化技術 132
3. Nova的系統架構 133
4.虛擬機實例化流程 133
任務實現 134
1.驗證Nova服務 134
2.試用計算服務的API 134
任務二 創建和管理虛擬機實例 136
任務說明 136
知識引入 136
1. nova-api服務 136
2. nova-scheduler服務 136
3. nova-compute服務 138
4. nova-conductor服務 139
5. Nova計算服務與Placement放置服務 140
6.鏡像和實例的關係 140
7.命令行的實例創建用法 141
8.命令行的實例管理用法 142
任務實現 143
1.生成密鑰對 143
2.添加安全組規則 144
3.管理實例類型 144
4.創建實例 146
5.創建實例排錯 146
6.管理虛擬機實例 147
7.訪問虛擬機實例 147
任務三 注入元數據實現虛擬機實例個性化配置 148
任務說明 148
知識引入 148
1.元數據注入 148
2.元數據服務機制 149
3.配置驅動器機制 150
4.進一步了解cloud-init 150
任務實現 151
1.向虛擬機實例注入用戶數據 151
2.設置虛擬機實例的元數據(屬性) 153
3.驗證元數據服務機制 153
4.驗證配置驅動器機制 155
任務四 增加一個計算節點 156
任務說明 156
知識引入 156
1. Nova的物理部署 156
2. Nova的部署模式 156
任務實現 157
1.準備雙節點OpenStack雲平台安裝環境 157
2.編輯應答文件 157
3.使用修改過的應答文件運行Packstack安裝器 158
4.驗證雙節點部署 159
任務五 遷移虛擬機實例 160
任
務說明 160
知識引入 161
1.什麼是實例冷遷移 161
2.什麼是實例熱遷移 161
3.熱遷移命令行用法 161
任務實現 162
1.在計算節點之間配置SSH無密碼訪問 162
2.執行實例的冷遷移操作 162
3.實現熱遷移的通用配置 164
4.執行實例的熱遷移操作 165
項目實訓 167
項目實訓一 使用命令行創建Fedora虛擬機實例並註入用戶密碼 167
實訓目的 167
實訓內容 167
項目實訓二 增加一個計算節點並進行實例冷遷移 167
實訓目的 167
實訓內容 167
項目總結 167
項目七 OpenStack網絡管理 168
學習目標 168
項目描述 168
任務一 了解OpenStack網絡服務 168
任務說明 168
知識引入 168
1. Neutron項目 168
2. Neutron架構 169
3. Neutron網絡基本結構 170
任務實現 170
任務二 理解OpenStack網絡資源模型 172
任務說明 172
知識引入 172
1. Neutron的網絡 172
2.提供者網絡 173
3.自服務網絡 174
4. Neutron的子網 175
5. Neutron的端口 176
6. Neutron的路由器 176
7.網絡管理的命令行基本用法 177
任務實現 178
任務三 理解OpenStack網絡服務的實現機制 183
任務說明 183
知識引入 184
1. Neutron服務與組件的層次結構 184
2. neutron-server 184
3.插件與代理架構 185
4. ML2插件 185
5. L2代理 186
6. Open vSwitch代理 187
7. L3代理 188
8. DHCP代理 190
9.元數據代理 190
任務實現 190
了解OpenStack網絡服務的物理部署 190
任務四 掌握OpenStack網絡服務與OVN的集成 191
任務說明 191
知識引入 191
1.什麼是OVN 191
2. OVN架構和實現機制 192
3. OpenStack Neutron與OVN集成 193
4.集成OVN的Neutron網絡服務部署 194
任務實現 195
項目實訓 198
項目實訓一 驗證OpenStack網絡資源模型 198
實訓目的 198
實訓內容 199
項目實訓二 整理OpenStack網絡端口管理的命令行用法 199
實訓目的 199
實訓內容 199
項目實訓三 驗證OVN網絡的部署和配置 199
實訓目的 199
實訓內容 199
項目總結 199
項目八 OpenStack存儲管理 200
學習目標 200
項目描述 200
任務一 理解OpenStack塊存儲服務 200
任務說明 200
知識引入 201
1. Cinder的主要功能 201
2. Cinder與Nova的交互 201
3. Cinder架構 201
4. Cinder創建卷的基本流程 202
任務實現 203
任務二 創建和管理卷 204
任務說明 204
知識引入 205
1. cinder-api服務 205
2. cinder-scheduler服務 205
3. cinder-volume服務 206
4. cinder-backup服務 208
5. Cinder服務的部署 208
6.卷操作的命令行基本用法 208
任務實現 210
任務三 了解Swift對象存儲服務 215
任務說明 215
知識引入 215
1. Swift對象存儲系統 215
2. Swift的應用場景 216
3.對象的層次數據模型 216
4.對象層級結構與對象存儲API的交互 216
5.對象存儲的組件 217
6. Swift架構 218
任務實現 220
項目實訓 223
項目實訓一 使用命令行創建和管理卷 223
實訓目的 223
實訓內容 223
項目實訓二 驗證Cinder和Swift服務 223
實訓目的 223
實訓內容 223
項目總結 223
項目九 綜合演練——手動部署OpenStack 224
學習目標 224
項目描述 224
任務一 OpenStack雲部署規劃 224
任務說明 224
知識引入 224
1.架構設計 224
2.虛擬網絡方案設計 225
3.示例的網絡拓撲 227
4.示例架構的局限性 227
任務實現 227
任務二 OpenStack雲平台環境配置 229
任務說明 229
任務實現 229
任務三 安裝和部署Keystone身份服務 234
任務說明 234
知識引入 235
1. keystone-manage命令 235
2.其他服務在Keystone中的註冊 235
任務實現 235
任務四 安裝和部署Glance鏡像服務 240
任務說明 240
任務實現 240
任務五 安裝和部署Placement放置服務 242
任務說明 242
任務實現 242
任務六 安裝和部署Nova計算服務 245
任務說明 245
知識引入 245
1. Nova的Cell架構 245
2. Cell部署 246
3. Cell管理命令 247
任務實現 247
任務七 安裝和部署Neutron網絡服務 253
任務說明 253
任務實現 253
任務八 安裝和部署Horizon儀表板 263
任務說明 263
任務實現 264
任務九 安裝和部署Cinder塊存儲服務 266
任務說明 266
任務實現 266
項目實訓 271
項目實訓一 搭建OpenStack雲平台基礎環境 271
實訓目的 271
實訓內容 271
項目實訓二 安裝Keystone身份服務 271
實訓目的 271
實訓內容 271
項目實訓三 安裝Glance鏡像服務 271
實訓目的 271
實訓內容 271
項目實訓四 安裝Nova計算服務 271
實訓目的 271
實訓內容 272
項目實訓五 安裝Neutron網絡服務 272
實訓目的 272
實訓內容 272
項目總結 272
作者介紹
趙德寶,男,副教授、高級工程師,碩士學位。長期從事計算機網絡、雲計算等相關專業課程教學與研究。擔任主編教材2部《網絡設備配置與調試》、《ASP動態網頁設計》;擔任副主編教材《SQL Server 2012數據庫應用教程》、《計算機網絡項目教程》等3部。主持湖北省教育廳科技處項目並結題1項,參與省級課題2項;公開發表論文7篇;授權實用新型專利4個,取得軟件著作權2個;作為第一指導老師指導學生參加2019年全國職業技能大賽云計算賽項獲團體三等獎,省市級大賽榮獲20餘項榮譽。 2019年世界技能大賽武漢市選拔賽云計算賽項優秀教練;2019年湖北“工匠杯”優秀指導老師;第46屆世界技能大賽湖北省選拔賽云計算賽項裁判員;2021全國職業技能大賽網絡搭建與應用賽項(中職組)裁判員。
鍾小平 長期從事信息技術研究、教學、軟件開發和技術支持工作。近年來著有《網絡服務器配置與應用》《網絡拓展配置與管理》《網絡服務器配置完全手冊》《網絡操作系統——Windows Server 2012 R2配置與管理》和《Ubuntu Linux操作系統》等技術圖書和高校教材。