书籍详情
《云原生架构进阶实战》[21M]百度网盘|亲测有效|pdf下载
  • 云原生架构进阶实战

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2020-04
  • 热度:10720
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

《云原生架构进阶实战》从云原生的核心思想和理念开始,重点讲述企业引入云原生架构的必要条件、企业如何准备云原生开发和部署环境,企业如何运维云原生架构,并在*后提供云原生相关案例,为企业展现云原生的实战场景和步骤,从而让企业对云原生架构有一个直观的感受。书中案例也为企业引入云原生架构提供了真实的样例。
《云原生架构进阶实战》主要面向云原生和微服务开发人员、云原生架构运维人员以及相关管理者。

目录

出版说明
前言
第1章 云原生架构1
1.1 云计算的演化1
1.2 什么是云原生3
1.3 云原生基础架构4
1.4 云原生应用5
1.4.1 微服务5
1.4.2 健康状况报告6
1.4.3 自动测量数据7
1.4.4 弹性处理故障7
1.4.5 声明式通信8
1.5 十二要素应用8
1.6 实现云原生模式12
1.7 何时采用云原生12
1.8 云设计模式13
1.9 服务网格(Service Mesh)15
1.10 云原生的未来16
第2章 Kubernetes核心对象17
2.1 Kubernetes架构17
2.1.1 节点18
2.1.2 Master节点18
2.1.3 Docker镜像库19
2.2 命名空间19
2.3 Pod20
2.3.1 创建Pod20
2.3.2 Pod 内部多个容器21
2.3.3 初始化容器21
2.3.4 状态探针22
2.3.5 测试工具23
2.4 部署24
2.4.1 ReplicaSet24
2.4.2 部署26
2.4.3 有状态部署28
2.4.4 DaemonSet30
2.5 服务30
2.5.1 关于服务30
2.5.2 Ingress32
2.6 存储35
2.6.1 存储类型35
2.6.2 使用subPath37
2.7 RBAC38
2.7.1 角色和集群角色38
2.7.2 角色绑定和集群角色绑定38
第3章 敏捷基础架构40
3.1 部署本地Repository40
3.1.1 准备CentOS41
3.1.2 部署nginx和sonatype/nexus343
3.1.3 配置Nexus46
3.1.4 创建并使用NPM Registry47
3.1.5 创建并使用 Docker Repository49
3.1.6 创建Maven2 Local Repository52
3.1.7 总结54
3.2 部署Kubernetes54
3.2.1 环境准备54
3.2.2 安装Docker CE56
3.2.3 安装kube工具58
3.2.4 构建Master节点58
3.2.5 在客户端设置环境59
3.2.6 部署Flannel网络59
3.2.7 加入工作节点59
3.2.8 部署Dashboard60
3.3 MetalLB62
3.3.1 安装MetalLB63
3.3.2 配置IP地址池63
3.3.3 使用MetalLB64
3.3.4 流量策略65
3.3.5 IP共享65
3.4 部署GlusterFS66
3.4.1 卷类型66
3.4.2 GlusterFS部署方法69
3.4.3 GlusterFS要求69
3.4.4 创建磁盘分区69
3.4.5 安装软件70
3.4.6 配置防火墙71
3.4.7 配置信任池72
3.4.8 创建GlusterFS卷72
3.4.9 GlusterFS卷安全73
3.4.10 GlusterFS快照73
3.4.11 vSAN与GlusterFS的比较73
3.5 使用GlusterFS卷74
3.5.1 静态卷的使用74
3.5.2 动态卷的使用77
3.6 使用NFS卷83
3.6.1 前提条件83
3.6.2 授权83
3.6.3 创建 provisioner 和 StorageClass85
3.6.4 测试87
3.7 升级Kubernetes88
3.7.1 升级Master节点89
3.7.2 升级工作节点89
3.7.3 查看升级结果90
第4章 DevOps实战91
4.1 DevOps简介91
4.1.1 DevOps流程91
4.1.2 云原生下的DevOps92
4.2 软件部署策略93
4.2.1 实践准备93
4.2.2 重建部署(Recreate)95
4.2.3 滚动部署(RollUpdate)96
4.2.4 蓝绿部署(Blue/Green)98
4.2.5 金丝雀部署(Canary)100
4.2.6 A/B测试102
4.2.7 影子部署105
4.2.8 总结107
4.3 部署GitLab107
4.3.1 GitLab 简介107
4.3.2 在CentOS 7.x中部署GitLab108
4.3.3 使用Docker部署GitLab109
4.3.4 在Kubernetes集群中运行GitLab110
4.3.5 GitLab Runner111
4.4 GitLab 集成自动CI/CD112
4.4.1 GitLab自动CI/CD113
4.4.2 .gitlab-ci.yml114
4.4.3 变量注册115
4.5 容器部署模式116
4.5.1 什么是sidecar模式117
4.5.2 sidecar模式的优势117
4.5.3 sidecar模式的适用场景118
4.5.4 采用sidecar模式的事例118
第5章 日志记录119
5.1 模式119
5.1.1 伴生模式119
5.1.2 DaemonSet模式120
5.2 日志采集120
5.2.1 具有日志代理功能的伴生容器120
5.2.2 DaemonSet模式下配置Fluentd123
5.3 部署Elasticsearch126
5.3.1 Elasticsearch简介126
5.3.2 在Docker Swarm中部署Elasticsearch127
5.3.3 在Kubernetes上创建Elasticsearch集群128
5.4 部署Kibana139
5.4.1 在Docker中部署Kibana139
5.4.2 在Kubernetes上部署Kibana应用143
5.5 部署fluentd作为syslog server145
5.5.1 创建 fluentd 服务145
5.5.2 创建 fluentd 应用146
5.5.3 测试148
第6章 云原生下的监控149
6.1 Prometheus简介149
6.1.1 Prometheus 组成及架构150
6.1.2 使用Prometheus的场景150
6.1.3 Prometheus 相关概念151
6.2 使用Exporter采集数据153
6.2.1 常用Exporter153
6.2.2 Exporter的运行方式154
6.2.3 Node Exporter154
6.2.4 容器监控cAdvisor155
6.2.5 黑盒监控Blackbox Exporter159
6.3 在Kubernetes中部署Prometheus161
6.3.1 创建RBAC文件161
6.3.2 创建服务162
6.3.3 创建配置文件163
6.3.4 部署Prometheus167
6.4 部署 Blackbox exporter169
6.4.1 Blackbox exporter配置文件169
6.4.2 Blackbox exporter部署文件170
6.5 Node exporter172
6.5.1 创建node exporter服务172
6.5.2 创建Node exporter DaemonSet172
6.6 Grafana174
6.7 在Kubernetes中部署Grafana176
6.7.1 创建持久卷声明176
6.7.2 部署Grafana176
6.7.3 grafana配置文件178
6.7.4 创建Service178
6.8 案例:监控Dr

前言/序言

前 言
随着数字经济的发展和企业数字化转型的深入,企业业务部门需要越来越快的应用开发,传统的开发模式和运维模式节奏缓慢,这两者之间的矛盾越来越突出。为了解决这种矛盾,云原生概念于2013年首次提出,云原生计算基金会在2015年成立。2018年云原生生态不断壮大,主流云计算供应商纷纷加入该基金会。业界更是称2019年为云原生技术的商业化元年。云原生架构为传统云计算领域的人才和传统信息系统开发者带来了新挑战,对企业IT更是极大的挑战。
很多朋友在学习实践云原生架构时感觉一头雾水。官方文档的语言障碍、入门文档的欠缺以及网上碎片化的资料,阻碍了云原生架构的普及和推广,提高了学习难度。本书正是在这种情况下编写的。
本书特色
本书由云原生的核心思想和理念入手,重点讲述企业引入云原生架构的必要条件、企业如何准备云原生开发和部署环境,企业如何运维云原生架构,并在最后提供云原生相关案例,为企业展现云原生的实战场景和步骤,从而让企业对云原生架构有一个直观的感受,也为企业引入云原生架构提供了样例。
读者对象
本书读者主要是以下人员:
?云原生和微服务开发人员
?云原生架构运维人员
?DevOps参与人员
?项目经理
?IT部门主管
如何阅读本书
本书系统地讲解了云原生架构相关知识,以及如何实际构建云原生敏捷架构,在构建云原生应用时应该如何操作。各章内容大致如下:
第1章为云原生架构发展历程和相关基础理论知识。从云计算的演化开始讲解云原生的概念,并讲述了云原生基础架构和云原生应用两部分重要内容。同时还描述了云原生架构的主要思想精髓和设计模式,并引入了服务网格的介绍,展望了云原生的发展方向。本章内容主要侧重于核心理论的宣讲,重点让读者从理念上掌握云原生架构的核心要素。
第2章讲述了Kubernetes中的核心对象。云原生架构的敏捷基础架构都是建立在Kubernetes基础之上的,因此本章概要介绍了在后续实战中必须掌握的Kubernetes关键内容。本章也是对Kubernetes内容的有序梳理和归纳,从而使读者对Kubernetes有更深入的理解。
第 3 章从实战的角度描述了一个企业在构建云原生架构时应该如何部署一整套敏捷基础架构。本章先从部署本地Repository入手,然后讲解如何在裸机(Bare Metal)上部署Kubernetes环境,之后描述了如何部署针对Kubernetes的负载均衡设施,以及通过GlusterFS为Kubernetes提供存储支持。
第4章讲述云原生架构下的DevOps。云原生的一个核心理念是开发与运维的有效整合协作,因此本章重点介绍了云原生架构下的DevOps流程,以及云原生架构下的软件部署策略。在本章实战环节,介绍了目前最常用的GitLab软件部署以及如何在云原生开发过程中借助GitLab实现自动CI/CD。本章为读者提供了一整套DevOps方案,有助于读者理解云原生架构下的DevOps,也是企业向云原生应用转型的重要参考内容。
第5章讲述云原生架构下的日志解决方案。日志是解决业务系统问题的溯源依据。本章介绍了在云原生架构下如何收集日志、存储日志,并介绍了伴生模式和DaemonSet模式。在本章实战环节,介绍了目前最常用的日志存储系统Elasticsearch在不同环境中的部署,并通过Kibana来查询分析日志。最后介绍了在云原生架构下的日志收集模式和方案。本章内容有助于读者理解云设计模式,并掌握相关系统的设计和部署。
第6章讲述如何监控云原生架构。通过介绍云原生架构下Prometheus监控指标收集系统,讲解了如何通过各类Exporter来收集指标,以及通过Grafana来图形化展示各类指标。本章实战环节不仅讲述了如何部署以上系统,还通过如何监控Drupal站点的案例来进一步加强以上内容的理解,给出了监控的示范应用。
第7章重点描述了服务网格。云原生架构下的应用主要是以微服务形式提供的。随着微服务的发展与兴起,其规模也越来越庞大,服务治理的需求也越来越迫切。本章通过目前排名第一的Istio架构来阐述服务治理的各项要素,并介绍了分布式调用追踪、遥测度量收集、灰度发布应用、服务熔断和故障注入等常用场景。本章的实战主要以代码形式穿插在各内容中,让读者以直观的形式理解服务治理内容。
第8章汇集了前述章节的内容,并从多个方面描述不同的案例来示范云原生架构的部署、云原生应用的开发与运维等方面的内容。首先讲解了如何在Kubernetes中部署Drupal 8站点,阐述了存储卷、数据库、监控等方面的内容;其次介绍了时下最常用的Node.js系统架构开发运维过程,重点阐述了与GitLab相关自动化构建和运维等功能;然后阐述了当下最流行的单点登录系统,从云原生的角度讲述如何定制、构建、部署和运维,形成了一个完整云原生应用方面的商用案例;最后从高校的视角来讲述一个企业组织在云原生架构转型过程中所需要改革的要素和面临的困难,有助于读者从顶层架构来推进云原生架构的应用。
致谢
感谢所有为云原生开发、普及和推广做出贡献的朋友们,是你们研发和推广了这么优秀的技术和产品。
感谢我的同事吴慧韫和云计算团队,他们给了我鼓励并提供了很多宝贵的建议。
感谢上海海事大学物流研究中心尤其是郝杨杨