OpenStack是一個用于構建公有云和私有云的開源軟件。本書全面講解OpenStack的方方面面,每一章均提供每種服務的真實且實用的示例,使讀者能使用和實踐OpenStack的特性,旨在幫助讀者快速上手OpenStack,在理解的基礎上將OpenStack應用到自己的數據中心。
本書涵蓋了安裝和配置一個私有云的各種內容:如何安裝和配置OpenStack的所有核心組件,并運行一個可管理和可運維的環境;如何掌握一個完整的私有云軟件棧,從計算資源的擴容到管理高冗余、高可用的對象儲存服務。這一版除了對原有章節內容進行了更新和優化,還新增了關于OpenStack網絡服務的全面介紹,讓讀者了解如何對整個云基礎設施進行精細化控制。
本書適合熟悉云計算平臺并正在從虛擬化環境過渡到云計算環境的系統管理員和架構師閱讀。
OpenStack是被廣泛使用的開源云平臺,可有效控制跨多個數據中心的大量計算、存儲和網絡資源。由于其具備一個強大的生態系統,OpenStack并使用它來運行其業務。
通過本書,讀者將獲得每個OpenStack核心服務(Nova、Neutron、Cinder、Swift等)的實際操作經驗。本版還介紹了Juno和Kilo版本的更新,增加了關于Ceilometer的新章節,并擴展了運維的覆蓋范圍。
這本書能為你帶來什么?
(1)了解、安裝、配置和管理OpenStack云平臺Nova。
(2)使用Neutron配置ML2、網絡、路由器和分布式虛擬路由器。
(3)使用和保護Keystone。
(4)在數據中心之間安裝并設置Swift和容器復制。
(5)熟悉OpenStack Dashboard用戶界面Horizon。
(6)使用OpenStack編排服務Heat自動完成整個解決方案。
(7)使用Ansible成功地自動化OpenStack安裝。
凱文·杰克遜(Kevin Jackson)是一名經驗老道的信息技術(IT)專業人士,目前在Rackspace作為OpenStack及私有云的專家,為各種規模的企業提供服務。他從2011年初就開始接觸OpenStack,擁有各種Linux和Unix操作系統方面的豐富經驗。他的twitter賬號是。
他是本書第 1版的作者,合著了第 2版。他還在加利福尼亞一次為期5天的快速寫書活動中與人合著了OpenStack基金會的《OpenStack》
Cody Bunch是Rackspace主機業務的一名私有云架構師。他在IT行業有15年的經驗,從事過SaaS、VoIP、虛擬化等方面的工作,目前的工作是云計算系統。他是《Automating vSphere 5 with vCenter Orchestrator on VMware press》一書的作者。他同時是一個每周更新的OpenStack播客頻道#vBrownBags的作者。他也經常在上發表博客,寫一些與OpenStack相關的技巧。他的twitter賬號是
譯者介紹
宋秉金 碩士,目前在國內云計算公司騰訊云工作,專注開發運營及傳播云計算趨勢,致力于幫助中小開發快速上云。畢業于北京外國語大學翻譯學院,有著豐富的技術翻譯經驗;Python學習型社區“編程派”的發起人,通過同名公眾號與數萬名Python編程愛好者分享技術經驗、傳播技術資訊。《Python參考手冊(第四版·修訂版)》審校。黃凱 有超過12年的IT行業經驗,是一名技術跨度很廣的IT專家,大部分時間使用各種語言在編程或者撰寫技術資料,有著企業級數據中心、SOA、語義網、編譯系統、分布式計算和保險金融業務系統方面的技術背景和專利,以及EMC、VMware、IBM、微軟等多項認證。目前,他在IBM x86軟件團隊擔任云計算解決方案架構師,研究私有 混合 公有云計算環境的管理運維和開源云平臺的應用創新工作,并主持撰寫了OpenStack企業參考架構紅皮書。過往的工作經歷包括在一家全球的數據存儲公司擔任工程師,以及在一家中間件平臺公司擔任虛擬服務器架構師。
黃凱擁有應用數學的學士學位和軟件工程的碩士學位,目前已婚并有一個兒子。他經常應邀在一些技術博客上撰文或作為創業項目的評委,并不定期在他的微博www.weibo.com topkai上發表關于云計算技術的見解和點評。平時有空的時候,他會彈彈鋼琴或者編曲,以及參加社區的網球比賽和足球比賽。
杜玉杰 碩士,開源顧問,中國OpenStack社區(COSUG)發起人,關注社區運營和商務拓展相關方向,先后為IBM、HP、EMC、VMWare等企業提供開源相關咨詢服務,目前擔任 OpenStack基金會董事,企業級云計算聯盟(ECA)副秘書長、華為開源顧問、紅帽OpenStack認證培訓講師、HP培訓部兼職講師,曾為北航云計算碩士班、上海交大移動云計算碩士班授課。可以通過微博@ben_杜玉杰 交流開源相關話題。
第 1章 Keystone—OpenStack身份認證服務 1
1.1 簡介 1
1.2 安裝OpenStack身份認證服務 2
1.3 為SSL通信配置OpenStack身份認證 5
1.4 在Keystone里創建租戶 6
1.5 在Keystone里配置角色 8
1.6 往Keystone里添加用戶 9
1.7 定義服務端點 13
1.8 創建服務的租戶和服務的用戶 18
1.9 為LDAP的集成配置Openstack身份認證 22
第 2章 Glance—OpenStack鏡像服務 25
2.1 簡介 25
2.2 安裝OpenStack鏡像服務 26
2.3 用OpenStack身份認證服務配置OpenStack鏡像服務29
2.4 用OpenStack對象存儲配置OpenStack鏡像服務 30
2.5 用OpenStack鏡像服務管理鏡像 31
2.6 注冊遠程存儲的鏡像 35
2.7 租戶間共享鏡像 36
2.8 查看共享鏡像 37
2.9 使用鏡像元數據 38
2.10 遷移VMware鏡像 41
2.11 創建OpenStack鏡像 42
第3章 Neutron—OpenStack網絡服務 48
3.1 簡介 48
3.2 在專屬網絡節點安裝Neutron和Open vSwitch 50
3.3 配置Neutron和Open vSwtich 52
3.4 安裝并配置Neutron API服務 58
3.5 創建租戶Neutron網絡 63
3.6 刪除Neutron網絡 65
3.7 創建外部浮動IP Neutron網絡 67
3.8 Neutron網絡的不同用途 72
3.9 配置分布式虛擬路由 76
3.10 使用分布式虛擬路由器 81
第4章 Nova—OpenStack計算服務 84
4.1 簡介 85
4.2 安裝OpenStack計算控制節點服務 86
4.3 安裝OpenStack計算軟件包 87
4.4 配置數據庫服務 89
4.5 配置OpenStack計算服務 90
4.6 使用OpenStack身份認證服務配置計算服務 95
4.7 停止和啟動Nova服務 97
4.8 在Ubuntu上安裝命令行工具 99
4.9 通過HTTPS使用命令行工具 99
4.10 檢查OpenStack計算服務 101
4.11 使用OpenStack計算服務 103
4.12 管理安全組 105
4.13 創建和管理密鑰對 107
4.14 啟動云實例 109
4.15 修復出錯的實例部署 113
4.16 終止實例 115
4.17 使用在線遷移 116
4.18 使用nova-scheduler 117
4.19 創建實例類型 119
4.20 定義主機分組 120
4.21 在特定可用區啟動實例 124
4.22 在特定計算主機啟動實例 126
4.23 從集群移除Nova節點 127
第5章 Swift—OpenStack對象存儲 131
5.1 簡介 131
5.2 在Keystone中配置Swift服務和用戶 132
5.3 安裝OpenStack對象存儲服務—代理服務器 134
5.4 配置OpenStack對象存儲服務—代理服務器 136
5.5 安裝OpenStack對象存儲服務—存儲節點 138
5.6 配置Swift使用物理存儲 139
5.7 配置對象存儲備份 141
5.8 配置OpenStack對象存儲—存儲服務 143
5.9 制作對象存儲環 145
5.10 停止和啟動OpenStack對象存儲 148
5.11 配置SSL訪問 149
第6章 使用OpenStack對象存儲 152
6.1 簡介 152
6.2 安裝swift客戶端工具 152
6.3 創建容器 154
6.4 上傳對象 155
6.5 上傳大對象 156
6.6 列出容器和對象 159
6.7 下載對象 160
6.8 刪除容器和對象 162
6.9 使用OpenStack對象存儲訪問控制列表 164
6.10 兩個Swift集群間進行容器同步 166
第7章 管理OpenStack對象存儲 169
7.1 簡介 169
7.2 用swift-init管理OpenStack對象存儲集群 169
7.3 檢查集群健康狀況 171
7.4 管理Swift集群容量 173
7.5 從集群中刪除節點 177
7.6 檢測和更換故障硬盤 178
7.7 收集使用情況統計數據 180
第8章 Cinder—OpenStack塊存儲 183
8.1 簡介 183
8.2 配置Cinder卷服務 184
8.3 為Cinder卷配置OpenStack計算服務 186
8.4 創建卷 189
8.5 為實例添加卷 191
8.6 從實例中分離卷 193
8.7 刪除卷 194
8.8 配置第三方卷服務 195
8.9 使用Cinder快照 196
8.10 從卷啟動 198
第9章 深入OpenStack 200
9.1 簡介 200
9.2 使用cloud-init運行安裝后的命令 200
9.3 使用cloud-init運行安裝后的配置 202
9.4 安裝OpenStack Telemetry 205
9.5 使用OpenStack Telemetry查看使用數據 209
9.6 安裝Neutron LBaaS 213
9.7 使用Neutron LBaaS 215
9.8 配置Neutron FWaaS 219
9.9 使用Neutron FWaaS 222
9.10 安裝OpenStack編排服務Heat 228
9.11 使用Heat啟動實例 231
第 10章 使用OpenStack Dashboard 235
10.1 簡介 235
10.2 安裝OpenStack Dashboard 236
10.3 使用OpenStack Dashboard進行密鑰管理 237
10.4 使用OpenStack Dashboard管理Neutron網絡 242
10.5 使用OpenStack Dashboard進行安全組管理 248
10.6 使用OpenStack Dashboard啟動實例 254
10.7 使用OpenStack Dashboard終止實例 257
10.8 使用OpenStack Dashboard連接到使用VNC的實例 258
10.9 使用OpenStack Dashboard添加新租戶 260
10.10 使用OpenStack Dashboard進行用戶管理 263
10.11 使用OpenStack Dashboard操作LBaaS 268
10.12 使用OpenStack Dashboard進行OpenStack編排 276
第 11章 生產環境中的OpenStack 285
11.1 簡介 285
11.2 安裝MariaDB Galera集群 286
11.3 MariaDB Galera集群配置HA Proxy 288
11.4 配置HA Proxy實現高可用 290
11.5 使用Corosync安裝并配置Pacemaker 295
11.6 使用Pacemaker和Corosync配置OpenStack服務 299
11.7 綁定多個網卡實現高冗余 304
11.8 使用Ansible自動安裝OpenStack—主機配置 305
11.9 使用Ansible自動安裝OpenStack—Playbook配置 309
11.10 使用Ansible自動安裝OpenStack—運行Playbook 315