作品简介

本书正是你一直期待的那本书。本书包罗万象,会介绍如何开发微服务并将其部署在Kubernetes平台上,基于微服务的架构与Kubernetes的结合将会带来巨大影响。书中首先解释了微服务和Kubernetes背后的基本概念,讨论了一些现实世界中的关注点和权衡取舍,引导你完成基于微服务的系统开发,向你展示最佳实践并给出了大量建议。

吉吉·赛凡(Gigi Sayfan),是Helix(一家生物信息学和基因组学初创公司)的首席软件架构师,也是Packt出版的Mastering Kubernetes一书的作者。他从事专业软件开发工作已超过20年,涉及领域包括即时消息、变形、芯片制造过程控制、游戏机嵌入式多媒体应用程序以及脑启发机器学习。他曾用多种编程语言(包括Go、Python、C#、Java、Delphi、JavaScript,甚至Cobol和PowerBuilder)为Windows、Linux、macOS、Lynx和Sony PlayStation等操作系统编写生产代码。他的技术专长涵盖数据库、低级网络、非传统用户界面和通用SDLC。

作品目录

  • 译者序
  • 前言
  • 关于评审者
  • 第1章 面向开发人员的Kubernetes简介
  • 1.1 技术需求
  • 1.2 Kubernetes简介
  • 1.3 Kubernetes架构
  • 1.4 微服务的完美搭档
  • 1.5 创建本地集群
  • 1.6 小结
  • 1.7 扩展阅读
  • 第2章 微服务入门
  • 2.1 技术需求
  • 2.2 微服务编程——少即是多
  • 2.3 微服务自治
  • 2.4 使用接口和契约
  • 2.5 通过API公开服务
  • 2.6 使用客户端库
  • 2.7 管理依赖
  • 2.8 协调微服务
  • 2.9 利用所有权
  • 2.10 理解康威定律
  • 2.11 跨服务故障排除
  • 2.12 利用共享服务库
  • 2.13 选择源代码控制策略
  • 2.14 选择数据策略
  • 2.15 小结
  • 2.16 扩展阅读
  • 第3章 示例应用程序——Delinkcious
  • 3.1 技术需求
  • 3.2 为什么选择Go
  • 3.3 认识Go kit
  • 3.4 Delinkcious目录结构
  • 3.5 Delinkcious微服务
  • 3.6 数据存储
  • 3.7 小结
  • 3.8 扩展阅读
  • 第4章 构建CI/CD流水线
  • 4.1 技术需求
  • 4.2 理解CI/CD流水线
  • 4.3 选择CI/CD流水线工具
  • 4.4 GitOps
  • 4.5 使用CircleCI构建镜像
  • 4.6 为Delinkcious设置持续交付
  • 4.7 小结
  • 4.8 扩展阅读
  • 第5章 使用Kubernetes配置微服务
  • 5.1 技术需求
  • 5.2 配置包含的内容
  • 5.3 通过传统方式管理配置
  • 5.4 动态管理配置
  • 5.5 使用Kubernetes配置微服务
  • 5.6 小结
  • 5.7 扩展阅读
  • 第6章 Kubernetes与微服务安全
  • 6.1 技术需求
  • 6.2 应用完善的安全原则
  • 6.3 区分用户账户和服务账户
  • 6.4 使用Kubernetes管理密钥
  • 6.5 使用RBAC管理权限
  • 6.6 通过认证、授权和准入控制访问权限
  • 6.7 通过安全最佳实践增强Kubernetes
  • 6.8 小结
  • 6.9 扩展阅读
  • 第7章 API与负载均衡器
  • 7.1 技术需求
  • 7.2 熟悉Kubernetes服务
  • 7.3 东西流量与南北流量
  • 7.4 理解ingress和负载均衡器
  • 7.5 提供和使用公有REST API
  • 7.6 提供和使用内部gRPC API
  • 7.7 通过消息队列发送和接收事件
  • 7.8 服务网格
  • 7.9 小结
  • 7.10 扩展阅读
  • 第8章 有状态服务
  • 8.1 技术需求
  • 8.2 抽象存储
  • 8.3 在Kubernetes集群外存储数据
  • 8.4 使用StatefulSet在Kubernetes集群内存储数据
  • 8.5 通过本地存储实现高性能
  • 8.6 在Kubernetes中使用关系型数据库
  • 8.7 在Kubernetes中使用非关系型数据存储
  • 8.8 小结
  • 8.9 扩展阅读
  • 第9章 在Kubernetes上运行Serverless任务
  • 9.1 技术需求
  • 9.2 云中的Serverless
  • 9.3 Delinkcious链接检查
  • 9.4 使用Nuclio实现Serverless链接检查
  • 9.5 其他Kubernetes Serverless框架
  • 9.6 小结
  • 9.7 扩展阅读
  • 第10章 微服务测试
  • 10.1 技术需求
  • 10.2 单元测试
  • 10.3 集成测试
  • 10.4 使用Kubernetes进行本地测试
  • 10.5 隔离测试
  • 10.6 端到端测试
  • 10.7 管理测试数据
  • 10.8 小结
  • 10.9 扩展阅读
  • 第11章 微服务部署
  • 11.1 技术需求
  • 11.2 Kubernetes部署
  • 11.3 多环境部署
  • 11.4 理解部署策略
  • 11.5 回滚部署
  • 11.6 管理版本和依赖
  • 11.7 本地开发部署
  • 11.8 小结
  • 11.9 扩展阅读
  • 第12章 监控、日志和指标
  • 12.1 技术需求
  • 12.2 Kubernetes的自愈能力
  • 12.3 Kubernetes集群自动伸缩
  • 12.4 使用Kubernetes供应资源
  • 12.5 正确地优化性能
  • 12.6 日志
  • 12.7 在Kubernetes上收集指标
  • 12.8 警报
  • 12.9 分布式跟踪
  • 12.10 小结
  • 12.11 扩展阅读
  • 第13章 服务网格与Istio
  • 13.1 技术需求
  • 13.2 服务网格
  • 13.3 Istio
  • 13.4 基于Istio构建Delinkcious
  • 13.5 Istio的替代方案
  • 13.6 小结
  • 13.7 扩展阅读
  • 第14章 微服务和Kubernetes的未来
  • 14.1 微服务的未来
  • 14.2 Kubernetes的未来
  • 14.3 小结
  • 14.4 扩展阅读
展开全部