作品简介

在本书中,四位在分布式系统、企业应用开发和开源领域有着丰富经验的Kubernetes专家将会对使用Kubernetes容器编排系统构建应用进行全程指导。他们的经验来源于在生产环境中成功运行Kubernetes的众多企业,书中的很多方法也通过具体的代码示例来说明。

本书面向已经熟悉Kubernetes的基本概念,想进一步学习通用的实践的读者。本书提供了在Kubernetes上构建应用所需的知识。

Brendan Burns是微软Azure的杰出工程师,也是Kubernetes开源项目的联合创始人,现为微软副总裁。

Eddie Villalba是微软商业软件工程部门的软件工程师,专注于开源云和Kubernetes。他帮助过许多用户将Kubernetes 用于应用程序。

Dave Strebel是微软Azure的全球云原生架构师,专注于开源云和Kubernetes。

Lachlan Evenson是微软Azure的容器计算团队的首席开发经理。

陈亮 前ThoughtWorks 高级咨询师、资深Tech Lead、全栈工程师。十年以上软件开发经验,领导过众多国内外高端定制项目交付,覆盖通信、互联网、房地产、汽车、制造等行业。曾为多家大型企业提供Cloud Native、质量内建、DDD等相关咨询与培训服务,对于敏捷开发管理、敏捷工程实践、DevOps流程与技术、DDD、微服务架构有着丰富经验。

王磊 资深技术咨询师。十年以上软件开发经验,覆盖金融、通信、互联网、汽车等行业。带队交付了多个国内外项目,对于微服务架构、DDD、敏捷工程实践、DevOps流程与技术、分布式开发、数据库性能调优、开发有着丰富经验。

张扬 ThoughtWorks 资深 DevOps 咨询师,十余年 IT 行业工作经验,曾任职 IBM, DaoCloud 等企业。近几年主要围绕企业 DevOps 转型和云原生相关技术咨询、方案设计和实施交付等工作。热衷技术交流和分享,中国 DevOps 社区核心组织者,社区文化的忠实拥趸。

作品目录

  • O’Reilly Media, Inc.介绍
  • 推荐序一
  • 推荐序二
  • 译者序
  • 前言
  • 目标读者
  • 为什么写这本书
  • 本书概览
  • 排版约定
  • 示例代码
  • O’Reilly在线学习平台(O’Reilly Online Learning)
  • 如何联系我们
  • 致谢
  • 第1章 搭建一个基本服务
  • 1.1 应用程序概览
  • 1.2 配置文件管理
  • 1.3 使用Deployment创建多副本服务
  • 1.4 为HTTP流量配置外部Ingress
  • 1.5 使用ConfigMap配置应用程序
  • 1.6 使用Secret管理认证
  • 1.7 部署简单的有状态数据库
  • 1.8 使用服务创建TCP负载均衡器
  • 1.9 使用Ingress将流量路由到静态文件服务器
  • 1.10 使用Helm参数化应用程序
  • 1.11 部署服务的最佳实践
  • 1.12 小结
  • 第2章 开发者工作流
  • 2.1 目的
  • 2.2 搭建开发集群
  • 2.3 为多个开发者搭建共享集群
  • 2.4 启动开发者工作流
  • 2.5 环境初始化
  • 2.6 启动开发
  • 2.7 启动测试与调试
  • 2.8 搭建开发环境的最佳实践
  • 2.9 小结
  • 第3章 监控与日志
  • 3.1 指标与日志
  • 3.2 监控技术
  • 3.3 监控模式
  • 3.4 Kubernetes指标概述
  • 3.5 应该监控什么指标
  • 3.6 监控工具
  • 3.7 使用Prometheus监控Kubernetes
  • 3.8 日志概述
  • 3.9 日志工具
  • 3.10 使用EFK记录日志
  • 3.11 告警
  • 3.12 监控、日志及告警的最佳实践
  • 3.13 小结
  • 第4章 配置、机密以及RBAC
  • 4.1 通过ConfigMap和Secret配置应用
  • 4.2 ConfigMap和Secret API的最佳实践
  • 4.3 RBAC
  • 4.4 小结
  • 第5章 持续集成、测试和部署
  • 5.1 版本控制
  • 5.2 持续集成
  • 5.3 测试
  • 5.4 镜像构建
  • 5.5 为镜像标记标签
  • 5.6 持续部署
  • 5.7 部署策略
  • 5.8 生产环境中的测试
  • 5.9 搭建流水线并进行混沌试验
  • 5.10 CI/CD的最佳实践
  • 5.11 小结
  • 第6章 版本控制、发布和部署
  • 6.1 版本控制
  • 6.2 发布
  • 6.3 部署
  • 6.4 综合示例
  • 6.5 小结
  • 第7章 全球化应用的分发和预演
  • 7.1 镜像的分发
  • 7.2 参数化部署
  • 7.3 全球流量负载均衡
  • 7.4 可靠的全球化部署
  • 7.5 如何应对出现的问题
  • 7.6 全球化部署的最佳实践
  • 7.7 小结
  • 第8章 资源管理
  • 8.1 Kubernetes Scheduler
  • 8.2 高级调度技术
  • 8.3 Pod资源管理
  • 8.4 资源管理的最佳实践
  • 8.5 小结
  • 第9章 网络、网络安全与服务网格
  • 9.1 Kubernetes的网络原则
  • 9.2 网络插件
  • 9.3 Kubernetes中的服务
  • 9.4 网络安全策略
  • 9.5 服务网格
  • 9.6 小结
  • 第10章 Pod和容器安全
  • 10.1 PodSecurityPolicy API
  • 10.2 工作负载隔离和RuntimeClass
  • 10.3 其他Pod和容器安全注意事项
  • 10.4 小结
  • 第11章 集群的策略和治理
  • 11.1 为什么策略和治理很重要
  • 11.2 这里所说的策略有何不同
  • 11.3 云原生策略引擎
  • 11.4 Gatekeeper简介
  • 11.5 审计
  • 11.6 策略和治理的最佳实践
  • 11.7 小结
  • 第12章 多集群管理
  • 12.1 为什么需要多集群
  • 12.2 多集群设计的考量
  • 12.3 多集群部署管理
  • 12.4 GitOps集群管理方式
  • 12.5 多集群管理工具
  • 12.6 Kubernetes Federation
  • 12.7 多集群管理的最佳实践
  • 12.8 小结
  • 第13章 集成外部服务和Kubernetes
  • 13.1 将外部服务导入Kubernetes
  • 13.2 将Kubernetes服务导出到外部
  • 13.3 在Kubernetes之间共享服务
  • 13.4 第三方工具
  • 13.5 连接集群和外部服务的最佳实践
  • 13.6 小结
  • 第14章 在Kubernetes上运行机器学习工作负载
  • 14.1 为什么Kubernetes非常适合机器学习
  • 14.2 机器学习工作流
  • 14.3 Kubernetes集群管理员与机器学习
  • 14.4 数据科学家关心的事
  • 14.5 在Kubernetes上运行机器学习工作负载的最佳实践
  • 14.6 小结
  • 第15章 在Kubernetes上构建高层应用的模式
  • 15.1 开发高层抽象的方法
  • 15.2 扩展Kubernetes
  • 15.3 构建平台时的设计考量
  • 15.4 构建应用平台的最佳实践
  • 15.5 小结
  • 第16章 管理状态和有状态应用
  • 16.1 卷和卷挂载
  • 16.2 Kubernetes存储
  • 16.3 有状态应用
  • 16.4 小结
  • 第17章 准入控制和授权
  • 17.1 准入控制
  • 17.2 授权
  • 17.3 小结
  • 第18章 总结
展开全部