本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书 名: | kubernetes微服务实战 |
图书定价: | 119元 |
作 者: | [印度] 吉吉·赛凡(Gigi Sayfan) |
出 版 社: | 机械工业出版社 |
出版日期: | 2020-06-03 |
ISBN 号: | 9787111655763 |
开 本: | 16开 |
页 数: | 372 |
版 次: | 1-1 |
本书深入介绍Kubernetes和微服务之间的协同关系。首先介绍如何使用示例应用程序Delinkcious,它将作为贯穿全书的动手实验,帮助读者在实际应用程序的上下文中理解微服务和Kubernetes的概念。接下来,介绍了如何设置CI/CD流水线以及使用Kubernetes ConfigMap配置微服务。然后介绍微服务安全和实现REST、gRPC API和Delinkcious数据存储的实践。除此之外,本书还探索了Nuclio项目,介绍如何在Kubernetes上运行一个无服务器任务,并管理和实现数据密集型测试。在后几章中,你将在Kubernetes上部署微服务,并学习如何做好系统的监控。后,你将逐渐发现服务网格的重要性,以及如何将Istio集成到Delinkcious集中。
[印度] 吉吉·赛凡(Gigi Sayfan) 著:吉吉·赛凡(Gigi Sayfan)是Heli(一家生物信息学和基因组学初创公司)的首席软件架构师,也是Packt出版的Mastering Kubernetes一书的作者。他从事专业软件开发工作已过20年,涉及领域包括即时消息、变形、芯片制造过程控制、游戏机嵌入式多媒体应用程序以及脑启发机器学习。他曾用多种编程语言(包括Go、Python、C#、Java、Delphi、,甚至Cobol和PowerBuilder)为Windows、Linu、macOS、Lyn和Sony PlayStation等作系统编写生产代码。他的技术专长涵盖数据库、低级网络、非传统用户界面和通用SDLC。
译者序
前言
关于评审者
1章 面向开发人员的Kubernetes简介 1
1.1 技术需求 1
1.1.1 安装Docker 1
1.1.2 安装kubectl 2
1.1.3 安装Minikube 2
1.1.4 本章代码 2
1.2 Kubernetes简介 2
1.2.1 容器编排平台 2
1.2.2 Kubernetes发展历史 2
1.2.3 Kubernetes现状 3
1.3 Kubernetes架构 3
1.3.1 控制平面 4
1.3.2 数据平面 5
1.4 微服务的搭档 6
1.4.1 微服务打包和部署 6
1.4.2 微服务公开和发现 8
1.4.3 微服务安全 9
1.4.4 微服务验证和授权 11
1.4.5 微服务升级 12
1.5 创建本地集 14
1.5.1 安装Minikube 14
1.5.2 探索集 16
1.5.3 安装Helm 17
1.6 小结 19
1.7 扩展阅读 19
2章 微服务入门 20
2.1 技术需求 21
2.1.1 在macOS上通过Homebrew安装Go 21
2.1.2 在其他平台上安装Go 21
2.1.3 本章代码 21
2.2 微服务编程—少即是多 21
2.3 微服务自治 23
2.4 使用接口和契约 23
2.5 通过API公开服务 24
2.6 使用客户端库 24
2.7 管理依赖 25
2.8 协调微服务 25
2.9 利用所有权 26
2.10 理解康威定律 27
2.10.1 垂直组织 27
2.10.2 水平组织 28
2.10.3 矩阵组织 28
2.11 跨服务故障排除 28
2.12 利用共享服务库 29
2.13 选择源代码控制策略 29
2.13.1 单体仓库 29
2.13.2 多仓库 30
2.13.3 混合模式 30
2.14 选择数据策略 30
2.14.1 每个微服务对应一个数据存储 31
2.14.2 运行分布式查询 31
2.14.3 使用Saga模式管理跨服务事务 33
2.15 小结 35
2.16 扩展阅读 36
3章 示例应用程序—Delinkcious 37
3.1 技术需求 37
3.1.1 Visual Studio Code 38
3.1.2 GoLand 38
3.1.3 LiteIDE 38
3.1.4 其他选项 38
3.1.5 本章代码 38
3.2 为什么选择Go 39
3.3 认识Go kit 39
3.3.1 使用Go kit构建微服务 40
3.3.2 理解传输 41
3.3.3 理解端点 41
3.3.4 理解服务 42
3.3.5 理解中间件 42
3.3.6 理解客户端 43
3.3.7 生成样板 43
3.4 Delinkcious目录结构 43
3.4.1 cmd子目录 44
3.4.2 pkg子目录 44
3.4.3 svc子目录 45
3.5 Delinkcious微服务 45
3.5.1 对象模型 46
3.5.2 服务实现 47
3.5.3 支持函数实现 50
3.5.4 通过客户端库调用API 53
3.6 数据存储 56
3.7 小结 58
3.8 扩展阅读 58
4章 构建CI/CD流水线 59
4.1 技术需求 59
4.2 理解CI/CD流水线 60
4.3 选择CI/CD流水线工具 61
4.4.1 Jenkins X 61
4.4.2 Spinnaker 62
4.4.3 Travis CI和CircleCI 62
4.4.4 Tekton 62
4.4.5 Argo CD 63
4.4.6 自研工具 63
4.4 GitOps 63
4.5 使用CircleCI构建镜像 64
4.5.1 查看源代码树 64
4.5.2 配置CI流水线 65
4.5.3 理解构建脚本 66
4.5.4 使用多阶段Dockerfile对Go服务容器化 68
4.5.5 探索CircleCI界面 68
4.5.6 未来的改进 71
4.6 为Delinkcious设置持续交付 71
4.6.1 部署Delinkcious微服务 71
4.6.2 理解Argo CD 72
4.6.3 Argo CD入门 73
4.6.4 配置Argo CD 75
4.6.5 探索Argo CD 77
4.7 小结 80
4.8 扩展阅读 81
5章 使用Kubernetes配置微服务 82
5.1 技术需求 82
5.2 配置包含的内容 83
5.3 通过传统方式管理配置 83
5.3.1 约定 84
5.3.2 命令行标志 85
5.3.3 环境变量 85
5.3.4 配置文件 86
5.3.5 混合配置和默认 90
5.3.6 12-Factor应用程序配置 91
5.4 动态管理配置 92