架構(gòu)師書庫寫給架構(gòu)師的Linux實(shí)踐:設(shè)計(jì)并實(shí)現(xiàn)基于Linux的IT解決方案 版權(quán)信息
- ISBN:9787111654353
- 條形碼:9787111654353 ; 978-7-111-65435-3
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>>
架構(gòu)師書庫寫給架構(gòu)師的Linux實(shí)踐:設(shè)計(jì)并實(shí)現(xiàn)基于Linux的IT解決方案 本書特色
本書是一本幫你全面掌握各種Linux組件與功能,以及相關(guān)技術(shù)的實(shí)用指南。書中分別從存儲(chǔ)、可用性、數(shù)據(jù)監(jiān)控和系統(tǒng)管理四方面詳細(xì)介紹如何設(shè)計(jì)并實(shí)現(xiàn)基于Linux的解決方案。
在面對(duì)具體的問題時(shí),作者首先指出有助于解決該問題的幾項(xiàng)指標(biāo),然后介紹可供選擇的各種工具與做法并分析優(yōu)劣,*后通過詳細(xì)的配置文件、程序代碼及控制臺(tái)命令幫助給出較為恰當(dāng)?shù)慕鉀Q方案。
全書共15章,分為四部分。
第①部分(第1~5章)介紹使用GlusterFS部署高性能的存儲(chǔ)解決方案時(shí),應(yīng)該如何做出必要的決策;
第二部分(第6~9章)講解Kubernetes的優(yōu)勢(shì),說明怎樣用它來編排容器化應(yīng)用程序的部署與管理工作,并演示解決方案的部署過程;
第三部分(第10~12章)講解如何實(shí)現(xiàn)ELK stack(ELK棧),通過其中的Elasticsearch、Logstash與Kibana可以把環(huán)境日志管理好;
第四部分(第13~15章)介紹IaC(Infrastructure as Code)的工作原理,以及用Saltstack來管理系統(tǒng)有哪些好處,并且討論一些設(shè)計(jì)經(jīng)驗(yàn)。本書是一本幫你全面掌握各種Linux組件與功能,以及相關(guān)技術(shù)的實(shí)用指南。書中分別從存儲(chǔ)、可用性、數(shù)據(jù)監(jiān)控和系統(tǒng)管理四方面詳細(xì)介紹如何設(shè)計(jì)并實(shí)現(xiàn)基于Linux的解決方案。
在面對(duì)具體的問題時(shí),作者首先指出有助于解決該問題的幾項(xiàng)指標(biāo),然后介紹可供選擇的各種工具與做法并分析優(yōu)劣,*后通過詳細(xì)的配置文件、程序代碼及控制臺(tái)命令幫助給出較為恰當(dāng)?shù)慕鉀Q方案。
全書共15章,分為四部分。第①部分(第1~5章)介紹使用GlusterFS部署高性能的存儲(chǔ)解決方案時(shí),應(yīng)該如何做出必要的決策;
第二部分(第6~9章)講解Kubernetes的優(yōu)勢(shì),說明怎樣用它來編排容器化應(yīng)用程序的部署與管理工作,并演示解決方案的部署過程;
第三部分(第10~12章)講解如何實(shí)現(xiàn)ELK stack(ELK棧),通過其中的Elasticsearch、Logstash與Kibana可以把環(huán)境日志管理好;
第四部分(第13~15章)介紹IaC(Infrastructure as Code)的工作原理,以及用Saltstack來管理系統(tǒng)有哪些好處,并且討論一些設(shè)計(jì)經(jīng)驗(yàn)。本書適合Linux 系統(tǒng)管理員、Linux支持工程師、DevOps工程師、Linux顧問,以及使用各種開源技術(shù)的專業(yè)工作者閱讀參考,以幫助其學(xué)習(xí)基于Linux及開源軟件的解決方案,并提高架構(gòu)、設(shè)計(jì)與實(shí)現(xiàn)水平。
架構(gòu)師書庫寫給架構(gòu)師的Linux實(shí)踐:設(shè)計(jì)并實(shí)現(xiàn)基于Linux的IT解決方案 內(nèi)容簡介
本書首先概述 Linux 項(xiàng)目的設(shè)計(jì)方法,然后講解在設(shè)計(jì)此類項(xiàng)目時(shí),所要注重的核心理念,以及在用 Gluster File System(GlusterFS)實(shí)現(xiàn)高性能的存儲(chǔ)方案時(shí),必須對(duì)哪幾個(gè)重要問題做出抉擇。接著介紹運(yùn)用 Kubernetes對(duì)容器化應(yīng)用程序的部署與管理工作進(jìn)行編排及協(xié)調(diào),并且介紹怎樣針對(duì) NGINX 應(yīng)用程序配置 Kubernetes。之后講解如何實(shí)現(xiàn) ELK 棧,并介紹了構(gòu)成該棧的 Elasticsearch、Logstash,以及 Kibana 等部件。*后,本書介紹怎樣安裝并配置 SaltStack 方案,以管理各種Linux發(fā)行版,而且還探討了一些設(shè)計(jì)經(jīng)驗(yàn)與設(shè)計(jì)原則,供你在制作解決方案時(shí)參考。通過本書的學(xué)習(xí),讀者可以熟練地構(gòu)建出運(yùn)行復(fù)雜程序所需的高性能工作環(huán)境。
架構(gòu)師書庫寫給架構(gòu)師的Linux實(shí)踐:設(shè)計(jì)并實(shí)現(xiàn)基于Linux的IT解決方案 目錄
【**部分 用GlusterFS 制定高性能的存儲(chǔ)解決方案】第1章 設(shè)計(jì)方法簡介 …… 21.1 定義解決方案設(shè)計(jì)的多個(gè)階段及其意義 …… 2
1.2 分析問題并準(zhǔn)確地提出問題 …… 3
1.2.1 技術(shù)角度 …… 4
1.2.2 業(yè)務(wù)角度 …… 5
1.2.3 功能角度 …… 6
1.3 考慮可行的解決方案 …… 6
1.4 把解決方案實(shí)現(xiàn)出來 …… 9
1.5 小結(jié) …… 9
習(xí)題 …… 10
延伸閱讀 …… 10
第2章 定義 GlusterFS 存儲(chǔ) …… 112.1 技術(shù)需求 …… 11
2.2 什么是集群 …… 11
2.2.1 用集群處理計(jì)算任務(wù) …… 11
2.2.2 存儲(chǔ)集群 …… 13
2.3 什么是 GlusterFS …… 13
2.4 塊存儲(chǔ)、文件存儲(chǔ)與對(duì)象存儲(chǔ) …… 15
2.4.1 塊存儲(chǔ) …… 16
2.4.2 文件存儲(chǔ) …… 17
2.4.3 對(duì)象存儲(chǔ) …… 18
2.5 為什么選擇 GlusterFS …… 20
2.5.1 GlusterFS 的特性 …… 21
2.5.2 Gluster 存儲(chǔ)卷的類型 …… 22
2.6 對(duì)高冗余存儲(chǔ)的需求 …… 25
2.7 對(duì)高性能存儲(chǔ)的需求 …… 27
2.8 并行 I/O …… 28
2.9 小結(jié) …… 28
習(xí)題 …… 28
延伸閱讀 …… 29
第3章 架構(gòu)存儲(chǔ)集群 …… 303.1 技術(shù)需求 …… 30
3.2 GlusterFS 對(duì)計(jì)算機(jī)的要求 …… 30
3.2.1 RAM …… 31
3.2.2 CPU …… 31
3.3 需要多大的存儲(chǔ)空間 …… 32
3.3.1 GlusterFS的卷類型 …… 32
3.3.2 應(yīng)用程序所需的空間 …… 33
3.3.3 項(xiàng)目的增長情況 …… 33
3.4 性能方面的注意事項(xiàng) …… 34
3.4.1 吞吐量 …… 34
3.4.2 延遲 …… 34
3.4.3 IOPS …… 35
3.4.4 I/O 的大小 …… 35
3.4.5 GlusterFS 的性能 …… 35
3.5 確保高可用性的*佳方法 …… 37
3.5.1 用復(fù)制卷確保高可用性 …… 37
3.5.2 用分散卷確保高可用性 …… 38
3.5.3 地域復(fù)制 …… 38
3.6 根據(jù)工作類型來確定需求 …… 39
3.6.1 文檔 …… 39
3.6.2 系統(tǒng)工具 …… 39
3.6.3 文件的類型與大小 …… 39
3.6.4 提出正確的問題 …… 40
3.7 小結(jié) …… 41
習(xí)題 …… 41
延伸閱讀 …… 42
第4章 在云基礎(chǔ)設(shè)施上使用 GlusterFS …… 434.1 技術(shù)需求 …… 43
4.2 設(shè)定后端存儲(chǔ)所需的 brick …… 44
4.2.1 部署 Azure …… 44
4.2.2 用 ZFS 做 brick 的后端 …… 45
4.3 在節(jié)點(diǎn)上安裝 GlusterFS …… 49
4.3.1 安裝必要的軟件包 …… 49
4.3.2 創(chuàng)建 trusted pool …… 50
4.4 創(chuàng)建存儲(chǔ)卷 …… 51
4.4.1 創(chuàng)建分散式的存儲(chǔ)卷 …… 51
4.4.2 掛載存儲(chǔ)卷 …… 52
4.5 優(yōu)化性能 …… 52
4.5.1 調(diào)整 GlusterFS …… 52
4.5.2 調(diào)整 ZFS …… 53
4.6 小結(jié) …… 54
習(xí)題 …… 54
延伸閱讀 …… 55
第5章 分析 Gluster 系統(tǒng)的性能 …… 565.1 技術(shù)需求 …… 56
5.2 概述目前的實(shí)現(xiàn)方案 …… 56
5.3 性能測試 …… 57
5.3.1 理論上的性能 …… 57
5.3.2 性能工具 …… 58
5.4 可用性測試 …… 63
5.5 擴(kuò)展 …… 63
5.6 小結(jié) …… 63
習(xí)題 …… 64
延伸閱讀 …… 64
【第二部分 用Kubernetes制作可用性高的Nginx Web應(yīng)用程序】第6章 創(chuàng)建可用性高的自我修復(fù)架構(gòu) …… 666.1 微服務(wù) …… 66
6.2 創(chuàng)建容器鏡像 …… 69
6.2.1 FROM 指令 …… 70
6.2.2 LABEL 指令 …… 70
6.2.3 RUN 指令 …… 71
6.2.4 ENV指令 …… 71
6.2.5 COPY指令 …… 72
6.2.6 EXPOSE指令 …… 73
6.2.7 CMD與ENTRYPOINT指令 …… 73
6.3 構(gòu)建容器鏡像時(shí)的經(jīng)驗(yàn) …… 76
6.4 容器編排 …… 80
6.5 Kubernetes …… 81
6.6 小結(jié) …… 82
習(xí)題 …… 82
延伸閱讀 …… 82
參考資料 …… 83
第7章 了解 Kubernetes 集群的核心組件 …… 847.1 控制面的各種 Kubernetes 組件 …… 84
7.1.1 kube-apiserver …… 85
7.1.2 kube-controller-manager …… 85
7.1.3 kube-scheduler …… 85
7.1.4 etcd 數(shù)據(jù)庫 …… 85
7.2 Kubernetes 的工作節(jié)點(diǎn) …… 86
7.2.1 容器運(yùn)行時(shí) …… 86
7.2.2 kubelet …… 86
7.2.3 kube-proxy …… 87
7.3 Kubernetes 的對(duì)象 …… 87
7.3.1 Kubernetes 的基本對(duì)象:pod …… 89
7.3.2 deployment 對(duì)象 …… 91
7.3.3 服務(wù) …… 93
7.3.4 Kubernetes 與持久存儲(chǔ) …… 95
7.4 小結(jié) …… 98
習(xí)題 …… 98
延伸閱讀 …… 99
第8章 架構(gòu) Kubernetes 集群 …… 1008.1 各種 Kubernetes 組件的規(guī)模與尺寸問題 …… 100
8.1.1 etcd 方面的問題 …… 100
8.1.2 kube-apiserver 的數(shù)量與規(guī)格 …… 101
8.1.3 工作節(jié)點(diǎn) …… 101
8.1.4 負(fù)載均衡器方面的問題 …… 102
8.2 存儲(chǔ)方面的問題 …… 103
8.3 網(wǎng)絡(luò)方面的需求 …… 104
8.4 定制 kube 對(duì)象 …… 106
8.4.1 名稱空間 …… 106
8.4.2 對(duì)名稱空間所能使用的資源做出限制 …… 107
8.4.3 定制 pod …… 108
8.5 小結(jié) …… 111
習(xí)題 …… 112
延伸閱讀 …… 113
第9章 配置并部署 Kubernetes …… 1149.1 部署基礎(chǔ)設(shè)施 …… 114
9.1.1 安裝 Azure CLI …… 114
9.1.2 宏觀設(shè)計(jì)概述 …… 115
9.1.3 配置網(wǎng)絡(luò)資源 …… 116
9.1.4 配置計(jì)算資源 …… 117
9.1.5 把 management VM 準(zhǔn)備好 …… 119
9.1.6 Kubeconfig …… 127
9.1.7 為控制面的各組件安裝必要的二進(jìn)制文件 …… 130
9.1.8 為 kubelet 設(shè)定 RBAC 權(quán)限 …… 137
9.1.9 設(shè)置負(fù)載均衡器 …… 138
9.1.10 設(shè)置工作節(jié)點(diǎn) …… 144
9.1.11 配置 Kubernetes 的網(wǎng)絡(luò) …… 148
9.1.12 DNS 服務(wù)器 …… 150
9.1.13 云平臺(tái)所提供的托管式 Kubernetes 解決方案 …… 150
9.2 小結(jié) …… 151
習(xí)題 …… 152
延伸閱讀 …… 152
參考資料 …… 152
【第三部分 Elastic Stack(ELK Stack)】第10章 用 ELK Stack 進(jìn)行監(jiān)控 …… 15410.1 技術(shù)需求 …… 154
10.2 為什么要做數(shù)據(jù)監(jiān)測 …… 154
10.2.1 通過歷史數(shù)據(jù)制定決策 …… 155
10.2.2 主動(dòng)探查有可能出現(xiàn)的問題 …… 156
10.2.3 了解整套產(chǎn)品的性能 …… 156
10.2.4 合理制定預(yù)算計(jì)劃 …… 157
10.3 集中式的日志 …… 157
10.4 Elasticsearch 概述 …… 159
10.4.1 迅速 …… 159
10.4.2 易于擴(kuò)展 …… 159
10.4.3 可用性高 …… 159
10.5 Logstash …… 159
10.5.1 Grok …… 160
10.5.2 定制的模式 …… 160
10.6 用 Kibana 進(jìn)行整合 …… 161
10.7 小結(jié) …… 162
習(xí)題 …… 163
延伸閱讀 …… 163
第11章 設(shè)計(jì) ELK Stack …… 16411.1 技術(shù)要求 …… 164
11.2 Elasticsearch 對(duì) CPU 的要求 …… 165
11.2.1 CPU 的數(shù)量 …… 165
11.2.2 CPU 的速度 …… 165
11.2.3 CPU 對(duì)性能的影響 …… 165
11.2.4 與 CPU 規(guī)格有關(guān)的建議 …… 167
11.3 Elasticsearch 對(duì)內(nèi)存的要求 …… 167
11.3.1 文件系統(tǒng)的緩存 …… 168
11.3.2 禁用 swap …… 169
11.3.3 因內(nèi)存不足而導(dǎo)致的問題 …… 169
11.3.4 與內(nèi)存有關(guān)的建議 …… 171
11.4 Elasticsearch 對(duì)存儲(chǔ)設(shè)備的要求 …… 172
11.4.1 對(duì)存儲(chǔ)容量的要求 …… 172
11.4.2 對(duì)存儲(chǔ)性能的要求 …… 172
11.4.3 與存儲(chǔ)設(shè)備有關(guān)的一些建議 …… 172
11.5 Logstash 與 Kibana 的要求 …… 173
11.5.1 Logstash …… 173
11.5.2 Kibana …… 173
11.6 小結(jié) …… 174
習(xí)題 …… 175
延伸閱讀 …… 175
第12章 用 Elasticsearch、Logstash 與 Kibana管理日志 …… 17612.1 技術(shù)需求 …… 176
12.2 概述 Elastic Stack 的部署工作 …… 177
12.3 安裝 Elasticsearch …… 178
12.3.1 配置 RPM 軟件倉庫 …… 178
12.3.2 Elasticsearch 的數(shù)據(jù)目錄 …… 179
12.4 配置 Elasticsearch …… 182
12.4.1 修改 Elasticsearch 的 YAML 配置文件 …… 182
12.4.2 啟動(dòng) Elasticsearch …… 185
12.4.3 添加 Elasticsearch 節(jié)點(diǎn) …… 186
12.5 安裝Logstash與Kibana …… 187
12.6 配置 Kibana …… 192
12.6.1 修改 Kibana 的 YAML 文件 …… 192
12.6.2 起到協(xié)調(diào)作用的 Elasticsearch 節(jié)點(diǎn) …… 192
12.7 啟動(dòng) Logstash 與 Kibana …… 193
12.8 什么是 Beats …… 194
12.8.1 Filebeat …… 194
12.8.2 Metricbeat …… 195
12.9 把必要的 Beats 安裝好 …… 195
12.10 配置 Beats 客戶端 …… 196
12.10.1 修改 Filebeat 的 YAML 文件 …… 196
12.10.2 修改 Metricbeat 的 YAML 文件 …… 198
12.11 后續(xù)步驟 …… 199
12.12 小結(jié) …… 200
習(xí)題 …… 200
延伸閱讀 …… 201
【第四部分 用 Saltstack 管理系統(tǒng)】第13章 用 Salt方案解決管理問題 …… 20413.1 把系統(tǒng)管理工作集中到同一個(gè)地方 …… 204
13.1.1 新技術(shù)給系統(tǒng)管理工作帶來的壓力 …… 204
13.1.2 掌控自己的基礎(chǔ)設(shè)施 …… 205
13.1.3 用集中化的管理工具來分散工作壓力 …… 205
13.1.4 利用代碼讓系統(tǒng)進(jìn)入預(yù)期狀態(tài) …… 206
13.2 理解NaCI …… 208
13.2.1 Salt 簡介 …… 208
13.2.2 SaltStack 平臺(tái) …… 209
13.2.3 Salt的功能 …… 211
13.3 小結(jié) …… 216
習(xí)題 …… 216
延伸閱讀 …… 216
第14章 實(shí)踐Salt方案 …… 21814.1 正式接觸Salt …… 218
14.1.1 本章預(yù)設(shè)的情境 …… 218
14.1.2 通過Terraform搭建*初的基礎(chǔ)設(shè)施 …… 219
14.2 用包管理器安裝Salt …… 229
14.2.1 在CentOS系統(tǒng)上用yum安裝Salt …… 229
14.2.2 在 Ubuntu 系統(tǒng)上用apt-get安裝Salt …… 232
14.2.3 用 bootstrap 腳本安裝 Salt …… 233
14.2.4 確保主節(jié)點(diǎn)與從節(jié)點(diǎn)之間能夠相互通信 …… 233
14.2.5 創(chuàng)建并配置Salt規(guī)則 …… 237
14.3 小結(jié) …… 244
第15章 設(shè)計(jì)經(jīng)驗(yàn) …… 24615.1 根據(jù)項(xiàng)目所在的環(huán)境進(jìn)行設(shè)計(jì) …… 246
15.2 怎樣設(shè)計(jì)本地項(xiàng)目 …… 247
15.2.1 運(yùn)行在實(shí)體服務(wù)器上的項(xiàng)目 …… 247
15.2.2 運(yùn)行在虛擬機(jī)上的項(xiàng)目 …… 248
15.3 怎樣設(shè)計(jì)云端環(huán)境中的項(xiàng)目 …… 249
15.4 將項(xiàng)目遷移到云端 …… 249
15.4.1 評(píng)估 …… 250
15.4.2 遷移 …… 251
15.4.3 DevOps …… 253
15.5 小結(jié) …… 258
習(xí)題 …… 259
延伸閱讀 …… 259
參考答案 …… 260
展開全部
架構(gòu)師書庫寫給架構(gòu)師的Linux實(shí)踐:設(shè)計(jì)并實(shí)現(xiàn)基于Linux的IT解決方案 作者簡介
★丹尼斯·薩拉曼卡(Denis Salamanca)從20歲起就從事IT工作,并在VMware、Microsoft、Hewlett-Packard Enterprise等多家知名企業(yè)就職。他目前在云端、存儲(chǔ)、Linux、Docker及虛擬化等不同領(lǐng)域,獲得了共計(jì)十多項(xiàng)技術(shù)認(rèn)證,此外還參與了Linux認(rèn)證的制定工作,該認(rèn)證是CompTIA(Computing Technology Industry Association,美國計(jì)算機(jī)行業(yè)協(xié)會(huì))Linux Subject Matter Experts and Technical Advisory Committee 的一部分。
★埃斯特班·弗洛雷斯(Esteban Flores)從8歲起就開始擺弄電腦。他曾供職于Hewlett-Packard Enterprise、VMware、Akamai及 Microsoft等多家知名企業(yè)。他有十年工作經(jīng)驗(yàn),而且喜歡嘗試新技術(shù),這促使他在工作過程中體驗(yàn)不同的職位。存儲(chǔ)技術(shù)一直都是他的強(qiáng)項(xiàng),他尤其關(guān)注性能調(diào)整與優(yōu)化。