包邮 Kubernetes微服务实战pdf下载

包邮 Kubernetes微服务实战百度网盘pdf下载

作者:
简介:包邮 Kubernetes微服务实战
出版社:
出版时间:2020-06
pdf下载价格:9.00¥


内容介绍



商品参数

Kubernetes微服务实战

出版社: 机械工业出版社
定  价: 119
版  次:
出版日期: 2020年06月
开  本: 16开
装  帧: 平装-胶订
ISBN: 9787111655763


内容介绍

本书深入介绍Kubernetes和微服务之间的协同关系。首先介绍如何使用示例应用程序Delinkcious,它将作为贯穿全书的动手实验,帮助读者在实际应用程序的上下文中理解微服务和Kubernetes的概念。接下来,介绍了如何设置CI/CD流水线以及使用Kubernetes ConfigMap配置微服务。然后介绍微服务安全和实现REST、gRPC API和Delinkcious数据存储的实践。除此之外,本书还探索了Nuclio项目,介绍如何在Kubernetes上运行一个无服务器任务,并管理和实现数据密集型测试。在*后几章中,你将在Kubernetes上部署微服务,并学习如何做好系统的监控。*后,你将逐渐发现服务网格的重要性,以及如何将Istio集成到Delinkcious集群中。

目录

译者序前言关于评审者章  面向开发人员的Kubernetes简介 11.1  技术需求 11.1.1  安装Docker 11.1.2  安装kubectl 21.1.3  安装Minikube 21.1.4  本章代码 21.2  Kubernetes简介 21.2.1  容器编排平台 21.2.2  Kubernetes发展历史 21.2.3  Kubernetes现状 31.3  Kubernetes架构 31.3.1  控制平面 41.3.2  数据平面 51.4  微服务的wan美搭档 61.4.1  微服务打包和部署 61.4.2  微服务公开和发现 81.4.3  微服务安全 91.4.4  微服务验证和授权 111.4.5  微服务升级 121.5  创建本地集群 141.5.1  安装Minikube 141.5.2  探索集群 161.5.3  安装Helm 171.6  小结 191.7  扩展阅读 19第2章  微服务入门 202.1  技术需求 212.1.1  在macOS上通过Homebrew安装Go 212.1.2  在其他平台上安装Go 212.1.3  本章代码 212.2  微服务编程—少即是多 212.3  微服务自治 232.4  使用接口和契约 232.5  通过API公开服务 242.6  使用客户端库 242.7  管理依赖 252.8  协调微服务 252.9  利用所有权 262.10  理解康威定律 272.10.1  垂直组织 272.10.2  水平组织 282.10.3  矩阵组织 282.11  跨服务故障排除 282.12  利用共享服务库 292.13  选择源代码控制策略 292.13.1  单体仓库 292.13.2  多仓库 302.13.3  混合模式 302.14  选择数据策略 302.14.1  每个微服务对应一个数据存储 312.14.2  运行分布式查询 312.14.3  使用Saga模式管理跨服务事务 332.15  小结 352.16  扩展阅读 36第3章  示例应用程序—Delinkcious 373.1  技术需求 373.1.1  Visual Studio Code 383.1.2  GoLand 383.1.3  LiteIDE 383.1.4  其他选项 383.1.5  本章代码 383.2  为什么选择Go 393.3  认识Go kit 393.3.1  使用Go kit构建微服务 403.3.2  理解传输 413.3.3  理解端点 413.3.4  理解服务 423.3.5  理解中间件 423.3.6  理解客户端 433.3.7  生成样板 433.4  Delinkcious目录结构 433.4.1  cmd子目录 443.4.2  pkg子目录 443.4.3  svc子目录 453.5  Delinkcious微服务 453.5.1  对象模型 463.5.2  服务实现 473.5.3  支持函数实现 503.5.4  通过客户端库调用API 533.6  数据存储 563.7  小结 583.8  扩展阅读 58第4章  构建CI/CD流水线 594.1  技术需求 594.2  理解CI/CD流水线 604.3  选择CI/CD流水线工具 614.4.1  Jenkins X 614.4.2  Spinnaker 624.4.3  Travis CI和CircleCI 624.4.4  Tekton 624.4.5  Argo CD 634.4.6  自研工具 634.4  GitOps 634.5  使用CircleCI构建镜像 644.5.1  查看源代码树 644.5.2  配置CI流水线 654.5.3  理解构建脚本 664.5.4  使用多阶段Dockerfile对Go服务容器化 684.5.5  探索CircleCI界面 684.5.6  未来的改进 714.6  为Delinkcious设置持续交付 714.6.1  部署Delinkcious微服务 714.6.2  理解Argo CD 724.6.3  Argo CD入门 734.6.4  配置Argo CD 754.6.5  探索Argo CD 774.7  小结 804.8  扩展阅读 81第5章  使用Kubernetes配置微服务 825.1  技术需求 825.2  配置包含的内容 835.3  通过传统方式管理配置 835.3.1  约定 845.3.2  命令行标志 855.3.3  环境变量 855.3.4  配置文件 865.3.5  混合配置和默认 905.3.6  12-Factor应用程序配置 915.4  动态管理配置 925.4.1  理解动态配置 925.4.2  远程配置存储 935.4.3  远程配置服务 935.5  使用Kubernetes配置微服务 935.5.1  使用Kubernetes ConfigMaps 945.5.2  Kubernetes自定义资源 1025.5.3  服务发现 1055.6  小结 1055.7  扩展阅读 106第6章  Kubernetes与微服务安全 1076.1  技术需求 1076.2  应用完善的安全原则 1086.3  区分用户账户和服务账户 1106.3.1  用户账户 1106.3.2  服务账户 1116.4  使用Kubernetes管理密钥 1146.4.1  Kubernetes密钥的三种类型 1146.4.2  创造自己的密钥 1156.4.3  将密钥传递到容器 1166.4.4  构建一个安全的Pod 1176.5  使用RBAC管理权限 1186.6  通过认证、授权和准入控制访问权限 1216.6.1  认证 1216.6.2  授权 1256.6.3  准入 1256.7  通过安全实践增强Kubernetes 1266.7.1  镜像安全 1266.7.2  网络安全—分而治之 1276.7.3  镜像仓库安全 1296.7.4  按需授予访问权限 1296.7.5  使用配额小化bao炸半径 1306.7.6  实施安全上下文 1326.7.7  使用安全策略强化Pod 1336.7.8  强化工具链 1346.8  小结 1356.9  扩展阅读 136第7章  API与负载均衡器 1377.1  技术需求 1377.2  熟悉Kubernetes服务 1387.3  东西流量与南北流量 1407.4  理解ingress和负载均衡器 1417.5  提供和使用公有REST API 1417.5.1  构建基于Python的API网关服务 1417.5.2  添加ingress 1467.5.3  验证API网关 1477.6  提供和使用内部gRPC API 1507.6.1  定义NewsManager接口 1507.6.2  实现消息管理器 1517.6.3  将NewsManager公开为gRPC服务 1537.7  通过消息队列发送和接收事件 1587.7.1  NATS 1597.7.2  在Kubernetes集群中部署NATS 1597.7.3  使用NATS发送链接事件 1607.7.4  订阅NATS链接事件 1627.7.5  处理链接事件 1647.8  服务网格 1667.9  小结 1667.10  扩展阅读 166第8章  有状态服务 1678.1  技术需求 1678.2  抽象存储 1688.2.1  Kubernetes存储模型 1688.2.2  内置和外部存储插件 1728.2.3  理解CSI 1738.3  在Kubernetes集群外存储数据 1748.4  使用StatefulSet在Kubernetes集群内存储数据 1758.4.1  理解StatefulSet 1758.4.2  什么时候应该使用StatefulSet 1788.4.3  一个大型StatefulSet示例 1798.5  通过本地存储实现高性能 1838.5.1  将数据存储在内存中 1838.5.2  将数据存储在本地SSD硬盘上 1838.6  在Kubernetes中使用关系型数据库 1838.6.1  了解数据的存储位置 1848.6.2  使用部署和服务 1848.6.3  使用StatefulSet 1858.6.4  帮助用户服务找到StatefulSet Pod 1858.6.5  管理模式更改 1878.7  在Kubernetes中使用非关系型数据存储 1878.8  小结 1918.9  扩展阅读 192第9章  在Kubernetes上运行Serverless任务 1939.1  技术需求 1939.2  云中的Serverless 1949.2.1  微服务与Serverless函数 1959.2.2  在Kubernetes上的Serverless函数模型 1959.2.3  构建、配置和部署Serverless函数 1969.2.4  调用Serverless函数 1969.3  Delinkcious链接检查 1969.3.1  设计链接检查 1979.3.2  实现链接检查 1999.4  使用Nuclio实现Serverless链接检查 2029.4.1  Nuclio简介 2029.4.2  创建一个链接检查Serverless函数 2039.4.3  使用nuctl部署链接检查函数 2069.4.4  使用Nuclio仪表板部署函数 2079.4.5  直接调用链接检查函数 2079.4.6  在LinkManager中触发链接检查 2089.5  其他Kubernetes Serverless框架 2099.5.1  Kubernetes Job和CronJob 2109.5.2  KNative 2109.5.3  Fission 2119.5.4  Kubeless 2119.5.5  OpenFaas 2119.6  小结 2129.7  扩展阅读 2120章  微服务测试 21310.1  技术需求 21410.2  单元测试 21410.2.1  使用Go进行单元测试 21410.2.2  使用Ginkgo和Gomega进行单元测试 21610.2.3  Delinkcious单元测试 21710.2.4  模拟的艺术 21710.2.5  你应该测试一切吗 22110.3  集成测试 22210.3.1  初始化测试数据库 22210.3.2  运行服务 22310.3.3  运行实际测试 22310.3.4  实现数据库测试辅助函数 22510.3.5  实现服务测试辅助函数 22710.4  使用Kubernetes进行本地测试 22910.4.1  编写冒烟测试 22910.4.2  Telepresence 23210.5  隔离测试 23510.5.1  隔离集群 23610.5.2  隔离命名空间 23610.5.3  跨集群/命名空间 23710.6  端到端测试 23710.6.1  验收测试 23710.6.2  回归测试 23810.6.3  性能测试 23810.7  管理测试数据 23910.7.1  合成数据 23910.7.2  人工测试数据 23910.7.3  生产环境快照 23910.8  小结 24010.9  扩展阅读 2401章  微服务部署 24111.1  技术需求 24111.2  Kubernetes部署 24211.3  多环境部署 24311.4  理解部署策略 24611.4.1  重新部署 24711.4.2  滚动更新 24711.4.3  蓝绿部署 24811.4.4  金丝雀部署 25511.5  回滚部署 26011.5.1  回滚标准部署 26011.5.2  回滚蓝绿部署 26111.5.3  回滚金丝雀部署 26211.5.4  回滚模式、API或负载的更改 26211.6  管理版本和依赖 26311.6.1  管理公有API接口 26311.6.2  管理跨服务依赖 26411.6.3  管理第三方依赖 26411.6.4  管理基础设施和工具链 26511.7  本地开发部署 26511.7.1  Ko 26611.7.2  Ksync 26911.7.3  Draft 27111.7.4  Skaffold 27211.7.5  Tilt 27311.8  小结 27911.9  扩展阅读 2792章  监控、日志和指标 28012.1  技术需求 28112.2  Kubernetes的自愈能力 28112.2.1  容器故障 28212.2.2  节点故障 28212.2.3  系统故障 28312.3  Kubernetes集群自动伸缩 28412.3.1  Pod水平自动伸缩 28412.3.2  集群自动伸缩 28612.3.3  Pod垂直自动伸缩 28712.4  使用Kubernetes供应资源 28912.4.1  应该提供哪些资源 28912.4.2  定义容器限制 28912.4.3  指定资源配额 29012.4.4  手动供应 29112.4.5  利用自动伸缩 29212.4.6  自定义自动供应 29212.5  正确地优化性能 29212.5.1  性能和用户体验 29212.5.2  性能和高可用性 29312. 显示全部信息