写给架构师的Linux实践 设计并实现基于Linux的IT解决方案
全新正版 极速发货
¥
56.25
6.3折
¥
89
全新
仅1件
作者(哥斯)丹尼斯·萨拉曼卡(Denis Salamanca),(哥斯)埃斯特班·弗洛雷斯(Esteban Flores)
出版社机械工业出版社
ISBN9787111654353
出版时间2020-05
装帧平装
开本16开
定价89元
货号1202070801
上书时间2024-06-28
商品详情
- 品相描述:全新
- 商品描述
-
目录
译者序
前言
作者简介
评审者简介
部分用GlusterFS制定高性能的存储解决方案
章设计方法简介2
1.1定义解决方案设计的多个阶段及其意义2
1.2分析问题并准确地提出问题3
1.2.1技术角度4
1.2.2业务角度5
1.2.3功能角度6
1.3考虑可行的解决方案6
1.4把解决方案实现出来9
1.5小结9
习题10
延伸阅读10
第2章定义GlusterFS存储11
2.1技术需求11
2.2什么是集群11
2.2.1用集群处理计算任务11
2.2.2存储集群13
2.3什么是GlusterFS13
2.4块存储、文件存储与对象存储15
2.4.1块存储16
2.4.2文件存储17
2.4.3对象存储18
2.5为什么选择GlusterFS20
2.5.1GlusterFS的特性21
2.5.2Gluster存储卷的类型22
2.6对高冗余存储的需求25
2.7对高性能存储的需求27
2.8并行I/O28
2.9小结28
习题28
延伸阅读29
第3章架构存储集群30
3.1技术需求30
3.2GlusterFS对计算机的要求30
3.2.1RAM31
3.2.2CPU31
3.3需要多大的存储空间32
3.3.1GlusterFS的卷类型32
3.3.2应用程序所需的空间33
3.3.3项目的增长情况33
3.4性能方面的注意事项34
3.4.1吞吐量34
3.4.2延迟34
3.4.3IOPS35
3.4.4I/O的大小35
3.4.5GlusterFS的性能35
3.5确保高可用性的佳方法37
3.5.1用复制卷确保高可用性37
3.5.2用分散卷确保高可用性38
3.5.3地域复制38
3.6根据工作类型来确定需求39
3.6.1文档39
3.6.2系统工具39
3.6.3文件的类型与大小39
3.6.4提出正确的问题40
3.7小结41
习题41
延伸阅读42
第4章在云基础设施上使用GlusterFS43
4.1技术需求43
4.2设定后端存储所需的brick44
4.2.1部署Azure44
4.2.2用ZFS做brick的后端45
4.3在节点上安装GlusterFS49
4.3.1安装必要的软件包49
4.3.2创建trustedpool50
4.4创建存储卷51
4.4.1创建分散式的存储卷51
4.4.2挂载存储卷52
4.5优化性能52
4.5.1调整GlusterFS52
4.5.2调整ZFS53
4.6小结54
习题54
延伸阅读55
第5章分析Gluster系统的性能56
5.1技术需求56
5.2概述目前的实现方案56
5.3性能测试57
5.3.1理论上的性能57
5.3.2性能工具58
5.4可用性测试63
5.5扩展63
5.6小结63
习题64
延伸阅读64
第二部分用Kubernetes制作可用性高的NginxWeb应用程序
第6章创建可用性高的自我修复架构66
6.1微服务66
6.2创建容器镜像69
6.2.1FROM指令70
6.2.2LABEL指令70
6.2.3RUN指令71
6.2.4ENV指令71
6.2.5COPY指令72
6.2.6EXPOSE指令73
6.2.7CMD与ENTRYPOINT指令73
6.3构建容器镜像时的经验76
6.4容器编排80
6.5Kubernetes81
6.6小结82
习题82
延伸阅读82
参考资料83
第7章了解Kubernetes集群的核心组件84
7.1控制面的各种Kubernetes组件84
7.1.1kube-apiserver85
7.1.2kube-controller-manager85
7.1.3kube-scheduler85
7.1.4etcd数据库85
7.2Kubernetes的工作节点86
7.2.1容器运行时86
7.2.2kubelet86
7.2.3kube-proxy87
7.3Kubernetes的对象87
7.3.1Kubernetes的基本对象:pod89
7.3.2deployment对象91
7.3.3服务93
7.3.4Kubernetes与持久存储95
7.4小结98
习题98
延伸阅读99
第8章架构Kubernetes集群100
8.1各种Kubernetes组件的规模与尺寸问题100
8.1.1etcd方面的问题100
8.1.2kube-apiserver的数量与规格101
8.1.3工作节点101
8.1.4负载均衡器方面的问题102
8.2存储方面的问题103
8.3网络方面的需求104
8.4定制kube对象106
8.4.1名称空间106
8.4.2对名称空间所能使用的资源做出限制107
8.4.3定制pod108
8.5小结111
习题112
延伸阅读113
第9章配置并部署Kubernetes114
9.1部署基础设施114
9.1.1安装AzureCLI114
9.1.2宏观设计概述115
9.1.3配置网络资源116
9.1.4配置计算资源117
9.1.5把managementVM准备好119
9.1.6Kubeconfig127
9.1.7为控制面的各组件安装必要的二进制文件130
9.1.8为kubelet设定RBAC权限137
9.1.9设置负载均衡器138
9.1.10设置工作节点144
9.1.11配置Kubernetes的网络148
9.1.12DNS服务器150
9.1.13云平台所提供的托管式Kubernetes解决方案150
9.2小结151
习题152
延伸阅读152
参考资料152
第三部分ElasticStack(ELKStack)
0章用ELKStack进行监控154
10.1技术需求154
10.2为什么要做数据监测154
10.2.1通过历史数据制定决策155
10.2.2主动探查有可能出现的问题156
10.2.3了解整套产品的性能156
10.2.4合理制定预算计划157
10.3集中式的日志157
10.4Elasticsearch概述159
10.4.1迅速159
10.4.2易于扩展159
10.4.3可用性高159
10.5Logstash159
10.5.1Grok160
10.5.2定制的模式160
10.6用Kibana进行整合161
10.7小结162
习题163
延伸阅读163
1章设计ELKStack164
11.1技术要求164
11.2Elasticsearch对CPU的要求165
11.2.1CPU的数量165
11.2.2CPU的速度165
11.2.3CPU对性能的影响165
11.2.4与CPU规格有关的建议167
11.3Elasticsearch对内存的要求167
11.3.1文件系统的缓存168
11.3.2禁用swap169
11.3.3因内存不足而导致的问题169
11.3.4与内存有关的建议171
11.4Elasticsearch对存储设备的要求172
11.4.1对存储容量的要求172
11.4.2对存储性能的要求172
11.4.3与存储设备有关的一些建议172
11.5Logstash与Kibana的要求173
11.5.1Logstash173
11.5.2Kibana173
11.6小结174
习题175
延伸阅读175
2章用Elasticsearch、Logstash与Kibana管理日志176
12.1技术需求176
12.2概述ElasticStack的部署工作177
12.3安装Elasticsearch178
12.3.1配置RPM软件仓库178
12.3.2Elasticsearch的数据目录179
12.4配置Elasticsearch182
12.4.1修改Elasticsearch的YAML配置文件182
12.4.2启动Elasticsearch185
12.4.3添加Elasticsearch节点186
12.5安装Logstash与Kibana187
12.6配置Kibana192
12.6.1修改Kibana的YAML文件192
12.6.2起到协调作用的Elasticsearch节点192
12.7启动Logstash与Kibana193
12.8什么是Beats194
12.8.1Filebeat194
12.8.2Metricbeat195
12.9把必要的Beats安装好195
12.10配置Beats客户端196
12.10.1修改Filebeat的YAML文件196
12.10.2修改Metricbeat的YAML文件198
12.11后续步骤199
12.12小结200
习题200
延伸阅读201
第四部分用Saltstack管理系统
3章用Salt方案解决管理问题204
13.1把系统管理工作集中到同一个地方204
13.1.1新技术给系统管理工作带来的压力204
13.1.2掌控自己的基础设施205
13.1.3用集中化的管理工具来分散工作压力205
13.1.4利用代码让系统进入预期状态206
13.2理解NaCI208
13.2.1Salt简介208
13.2.2SaltStack平台209
13.2.3Salt的功能211
13.3小结216
习题216
延伸阅读216
4章实践Salt方案218
14.1正式接触Salt218
14.1.1本章预设的情境218
14.1.2通过Terraform搭建初的基础设施219
14.2用包管理器安装Salt229
14.2.1在CentOS系统上用yum安装Salt229
14.2.2在Ubuntu系统上用apt-get安装Salt232
14.2.3用bootstrap脚本安装Salt233
14.2.4确保主节点与从节点之间能够相互通信233
14.2.5创建并配置Salt规则237
14.3小结244
5章设计经验246
15.1根据项目所在的环境进行设计246
15.2怎样设计本地项目247
15.2.1运行在实体服务器上的项目247
15.2.2运行在虚拟机上的项目248
15.3怎样设计云端环境中的项目249
15.4将项目迁移到云端249
15.4.1评估250
15.4.2迁移251
15.4.3DevOps253
15.5小结258
习题259
延伸阅读259
参考答案260
内容摘要
本书首先概述Linux项目的设计方法,然后讲解在设计此类项目时,所要注重的核心理念,以及在用Gluster File System(GlusterFS)实现高性能的存储方案时,必须对哪几个重要问题做出抉择。接着介绍运用Kubernetes对容器化应用程序的部署与管理工作进行编排及协调,并且介绍怎样针对NGINX应用程序配置Kubernetes。之后讲解如何实现ELK栈,并介绍了构成该栈的Elasticsearch、Logstash,以及Kibana等部件。*后,本书介绍怎样安装并配置SaltStack方案,以管理各种Linux发行版,而且还探讨了一些设计经验与设计原则,供你在制作解决方案时参考。通过本书的学习,读者可以熟练地构建出运行复杂程序所需的高性能工作环境。
— 没有更多了 —
以下为对购买帮助不大的评价