Kubernetes微服务实战(印度)吉吉·赛凡 pdf下载

Kubernetes微服务实战(印度)吉吉·赛凡 百度网盘pdf下载

作者:
简介:Kubernetes微服务实战(印度)吉吉·赛凡
出版社:
出版时间:2020-06
pdf下载价格:9.00¥


内容介绍

作  者:(印度)吉吉·赛凡 著 史天 等 译
定  价:119
出 版 社:机械工业出版社
出版日期:2020年06月01日
页  数:356
装  帧:平装
ISBN:9787111655763
译者序
前言
关于评审者
章 面向开发人员的Kubernetes简介
1.1 技术需求
1.1.1 安装Docker
1.1.2 安装kubectl
1.1.3 安装Minikube
1.1.4 本章代码
1.2 Kubernetes简介
1.2.1 容器编排平台
1.2.2 Kubernetes发展历史
1.2.3 Kubernetes现状
1.3 Kubernetes架构
1.3.1 控制平面
1.3.2 数据平面
1.4 微服务的搭档
1.4.1 微服务打包和部署
1.4.2 微服务公开和发现
1.4.3 微服务安全
1.4.4 微服务验证和授权
1.4.5 微服务升级
1.5 创建本地集群
1.5.1 安装Minikube
1.5.2 探索集群
1.5.3 安装Helm
1.6 小结
1.7 扩展阅读
第2章 微服务入门
2.1 技术需求
2.1.1 在macOS上通过Homebrew安装Go
2.1.2 在其他平台上安装Go
2.1.3 本章代码
2.2 微服务编程——少即是多
2.3 微服务自治
2.4 使用接口和契约
2.5 通过API公开服务
2.6 使用客户端库
2.7 管理依赖
2.8 协调微服务
2.9 利用所有权
2.10 理解康威定律
2.10.1 垂直组织
2.10.2 水平组织
2.10.3 矩阵组织
2.11 跨服务故障排除
2.12 利用共享服务库
2.13 选择源代码控制策略
2.13.1 单体仓库
2.13.2 多仓库
2.13.3 混合模式
2.14 选择数据策略
2.14.1 每个微服务对应一个数据存储
2.14.2 运行分布式查询
2.14.3 使用Saga模式管理跨服务事务
2.15 小结
2.16 扩展阅读
第3章 示例应用程序——Delinkcious
3.1 技术需求
3.1.1 Visual Studio Code
3.1.2 GoLand
3.1.3 LiteIDE
3.1.4 其他选项
3.1.5 本章代码
3.2 为什么选择Go
3.3 认识Go kit
3.3.1 使用Go kit构建微服务
3.3.2 理解传输
3.3.3 理解端点
3.3.4 理解服务
3.3.5 理解中间件
3.3.6 理解客户端
3.3.7 生成样板
3.4 Delinkcious目录结构
3.4.1 cmd子目录
3.4.2 pkg子目录
3.4.3 svc子目录
3.5 Delinkcious微服务
3.5.1 对象模型
3.5.2 服务实现
3.5.3 支持函数实现
3.5.4 通过客户端库调用API
3.6 数据存储
3.7 小结
3.8 扩展阅读
第4章 构建CI/CD流水线
4.1 技术需求
4.2 理解CI/CD流水线
4.3 选择CI/CD流水线工具
4.3.1 Jenkins X
4.3.2 Spinnaker
4.3.3 Travis CI和CircleCI
4.3.4 Tekton
4.3.5 Argo CD
4.3.6 自研工具
4.4 GitOps
4.5 使用CircleCI构建镜像
4.5.1 查看源代码树
4.5.2 配置CI流水线
4.5.3 理解构建脚本
4.5.4 使用多阶段Dockerfile对Go服务容器化
4.5.5 探索CircleCI界面
4.5.6 未来的改进
4.6 为Delinkcious设置持续交付
4.6.1 部署Delinkcious微服务
4.6.2 理解Argo CD
4.6.3 Argo CD入门
4.6.4 配置Argo CD
4.6.5 探索Argo CD
4.7 小结
4.8 扩展阅读
第5章 使用Kubernetes配置微服务
5.1 技术需求
5.2 配置包含的内容
5.3 通过传统方式管理配置
5.3.1 约定
5.3.2 命令行标志
5.3.3 环境变量
5.3.4 配置文件
5.3.5 混合配置和默认
5.3.6 12-Factor应用程序配置
5.4 动态管理配置
5.4.1 理解动态配置
5.4.2 远程配置存储
5.4.3 远程配置服务
5.5 使用Kubernetes配置微服务
5.5.1 使用Kubernetes ConfigMaps
5.5.2 Kubernetes自定义资源
5.5.3 服务发现
5.6 小结
5.7 扩展阅读
第6章 Kubernetes与微服务安全
6.1 技术需求
6.2 应用完善的安全原则
6.3 区分用户账户和服务账户
6.3.1 用户账户
6.3.2 服务账户
6.4 使用Kubernetes管理密钥
6.4.1 Kubernetes密钥的三种类型
6.4.2 创造自己的密钥
6.4.3 将密钥传递到容器
6.4.4 构建一个安全的Pod
6.5 使用RBAC管理权限
6.6 通过认证、授权和准入控制访问权限
6.6.1 认证
6.6.2 授权
6.6.3 准入
6.7 通过安全佳实践增强Kubernetes
6.7.1 镜像安全
6.7.2 网络安全——分而治之
6.7.3 镜像仓库安全
6.7.4 按需授予访问权限
6.7.5 使用配额小化爆炸半径
6.7.6 实施安全上下文
6.7.7 使用安全策略强化Pod
6.7.8 强化工具链
6.8 小结
6.9 扩展阅读
第7章 API与负载均衡器
7.1 技术需求
7.2 熟悉Kubernetes服务
7.3 东西流量与南北流量
7.4 理解ingress和负载均衡器
7.5 提供和使用公有REST API
7.5.1 构建基于Python的API网关服务
7.5.2 添加ingress
7.5.3 验证API网关
7.6 提供和使用内部gRPC API
7.6.1 定义NewsManager接口
7.6.2 实现消息管理器
7.6.3 将NewsManager公开为gRPC服务
7.7 通过消息队列发送和接收事件
7.7.1 NATS
7.7.2 在Kubernetes集群中部署NATS
7.7.3 使用NATS发送链接事件
7.7.4 订阅NATS链接事件
7.7.5 处理链接事件
7.8 服务网格
7.9 小结
7.10 扩展阅读
第8章 有状态服务
8.1 技术需求
8.2 抽象存储
8.2.1 Kubernetes存储模型
8.2.2 内置和外部存储插件
8.2.3 理解CSI
8.3 在Kubernetes集群外存储数据
8.4 使用StatefulSet在Kubernetes集群内存储数据
8.4.1 理解StatefulSet
8.4.2 什么时候应该使用StatefulSet
8.4.3 一个大型StatefulSet示例
8.5 通过本地存储实现高性能
8.5.1 将数据存储在内存中
8.5.2 将数据存储在本地SSD硬盘上
8.6 在Kubernetes中使用关系型数据库
8.6.1 了解数据的存储位置
8.6.2 使用部署和服务
8.6.3 使用StatefulSet
8.6.4 帮助用户服务找到StatefulSet Pod
8.6.5 管理模式更改
8.7 在Kubernetes中使用非关系型数据存储
8.8 小结
8.9 扩展阅读
第9章 在Kubernetes上运行Serverless任务
9.1 技术需求
9.2 云中的Serverless
9.2.1 微服务与Serverless函数
9.2.2 在Kubernetes上的Serverless函数模型
9.2.3 构建、配置和部署Serverless函数
9.2.4 调用Serverless函数
9.3 Delinkcious链接检查
9.3.1 设计链接检查
9.3.2 实现链接检查
9.4 使用Nuclio实现Serverless链接检查
9.4.1 Nuclio简介
9.4.2 创建一个链接检查Serverless函数
9.4.3 使用nuctl部署链接检查函数
9.4.4 使用Nuclio仪表板部署函数
9.4.5 直接调用链接检查函数
9.4.6 在LinkManager中触发链接检查
9.5 其他Kubernetes Serverless框架
9.5.1 Kubernetes Job和CronJob
9.5.2 KNative
9.5.3 Fission
9.5.4 Kubeless
9.5.5 OpenFaas
9.6 小结
9.7 扩展阅读
0章 微服务测试
10.1 技术需求
10.2 单元测试
10.2.1 使用Go进行单元测试
10.2.2 使用Ginkgo和Gomega进行单元测试
10.2.3 Delinkcious单元测试
10.2.4 模拟的艺术
10.2.5 你应该测试一切吗
10.3 集成测试
10.3.1 初始化测试数据库
10.3.2 运行服务
10.3.3 运行实际测试
10.3.4 实现数据库测试辅助函数
10.3.5 实现服务测试辅助函数
10.4 使用Kubernetes进行本地测试
10.4.1 编写冒烟测试
10.4.2 Telepresence
10.5 隔离测试
10.5.1 隔离集群
10.5.2 隔离命名空间
10.5.3 跨集群/命名空间
10.6 端到端测试
10.6.1 验收测试
10.6.2 回归测试
10.6.3 性能测试
10.7 管理测试数据
10.7.1 合成数据
10.7.2 人工测试数据
10.7.3 生产环境快照
10.8 小结
10.9 扩展阅读
1章 微服务部署
11.1 技术需求
11.2 Kubernetes部署
11.3 多环境部署
11.4 理解部署策略
11.4.1 重新部署
11.4.2 滚动更新
11.4.3 蓝绿部署
11.4.4 金丝雀部署
11.5 回滚部署
11.5.1 回滚标准部署
11.5.2 回滚蓝绿部署
11.5.3 回滚金丝雀部署
11.5.4 回滚模式、API或负载的更改
11.6 管理版本和依赖
11.6.1 管理公有API接口
11.6.2 管理跨服务依赖
11.6.3 管理第三方依赖
11.6.4 管理基础设施和工具链
11.7 本地开发部署
11.7.1 Ko
11.7.2 Ksync
11.7.3 Draft
11.7.4 Skaffold
11.7.5 Tilt
11.8 小结
11.9 扩展阅读
2章 监控、日志和指标
12.1 技术需求
12.2 Kubernetes的自愈能力
12.2.1 容器故障
12.2.2 节点故障
12.2.3 系统故障
12.3 Kubernetes集群自动伸缩
12.3.1 Pod水平自动伸缩
12.3.2 集群自动伸缩
12.3.3 Pod垂直自动伸缩
12.4 使用Kubernetes供应资源
12.4.1 应该提供哪些资源
12.4.2 定义容器
12.4.3 指定资源配额
12.4.4 手动供应
12.4.5 利用自动伸缩
12.4.6 自定义自动供应
12.5 正确地优化性能
12.5.1 性能和用户体验
12.5.2 性能和高可用性
12.5.3 性能和成本
12.5.4 性能和安全性
12.6 日志
12.6.1 日志应该记录什么
12.6.2 日志与错误报告
12.6.3 Go日志接口
12.6.4 使用Go-kit日志
12.6.5 使用Kubernetes集中管理日志
12.7 在Kubernetes上收集指标
12.7.1 Kubernetes指标API
12.7.2 Kubernetes指标服务器
12.7.3 使用Prometheus
12.8 警报
12.8.1 拥抱组件故障
12.8.2 接受系统故障
12.8.3 考虑人为因素
12.8.4 使用Prometheus警报管理器
12.9 分布式跟踪
12.9.1 安装Jaeger
12.9.2 将跟踪集成到服务中
12.10 小结
12.11 扩展阅读
3章 服务网格与Istio
13.1 技术需求
13.2 服务网格
13.2.1 单体架构与微服务架构
13.2.2 使用共享库管理微服务的横切关注点
13.2.3 使用服务网格管理微服务的横切关注点
13.2.4 理解Kubernetes与服务网格之间的关系
13.3 Istio
13.3.1 了解Istio架构
13.3.2 使用Istio管理流量
13.3.3 使用Istio保护集群
13.3.4 使用Istio实施策略
13.3.5 使用Istio收集指标
13.3.6 什么时候应该避免使用Istio
13.4 基于Istio构建Delinkcious
13.4.1 简化服务间的认证
13.4.2 优化金丝雀部署
13.4.3 自动化的日志管理和错误报告
13.4.4 兼容NATS
13.4.5 查看Istio足迹
13.5 Istio的替代方案
13.5.1 Linkerd 2.0
13.5.2 Envoy
13.5.3 HashiCorp Consul
13.5.4 AWS App Mesh
13.5.5 其他
13.5.6 不使用服务网格
13.6 小结
13.7 扩展阅读
4章 微服务和Kubernetes的未来
14.1 微服务的未来
14.1.1 微服务与无服务器函数
14.1.2 微服务、容器和编排
14.1.3 gRPC和gRPC-Web
14.1.4 GraphQL
14.1.5 HTTP/3
14.2 Kubernetes的未来
14.2.1 Kubernetes的可扩展性
14.2.2 服务网格集成
14.2.3 Kubernetes上的无服务器计算
14.2.4 Kubernetes和VM
14.2.5 集群自动伸缩
14.2.6 使用Operator
14.2.7 集群联邦
14.3 小结
14.4 扩展阅读

内容简介

《Kubernetes微服务实战》详细介绍如何进行微服务的开发并将其部署在Kubernetes平台上,是一本微服务真正落地实施的实用指南。《Kubernetes微服务实战》中从微服务的架构设计、构建、配置、测试、监控、安全,到持续集成/持续交付流水线,全面且深入地阐释微服务系统开发的核心技术及实践,并提供详细的示例代码。首先,《Kubernetes微服务实战》解释微服务和Kubernetes背后的基本概念,讨论一些现实世界中的关注点和权衡取舍,引导你完成基于微服务的系统开发,向你展示好的实践并给出大量建议。然后,《Kubernetes微服务实战》深入地探索其中的核心技术,并提供了可操作的代码进行说明。你将学习如何进行基于微服务的架构设计、构建微服务、测试已构建的微服务,以及将它们打包为Docker镜像。后,你将学习如何通过这些Docker镜像部署应用系统到Kubernetes并进行管理。在等