| 作者: | Nigel Poulton |
| 语言: | 英文 |
| 出版年份: | 2021 |
| 其他分类: | 容器技术 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《The Kubernetes Book》是Nigel Poulton撰写的Kubernetes权威入门与实践指南,2021年版针对最新Kubernetes特性进行了全面更新。本书采用"理论+实践"的教学方法,通过清晰的解释、实用的示例和动手练习,帮助读者从零开始掌握Kubernetes的核心概念和实际操作。作者承诺每年更新本书内容,确保与Kubernetes快速发展的生态保持同步,使其成为学习这一云原生操作系统的理想选择。
本书共16章,涵盖Kubernetes从基础概念到高级安全实践的完整知识体系,每章都包含理论讲解和动手实践两部分:
第一部分:Kubernetes基础(第1-3章)建立核心认知。第1章"Kubernetes入门"介绍Kubernetes的背景、起源及其作为"云操作系统"的定位,解释容器编排、云原生应用和微服务等关键概念,追溯Kubernetes从Google内部系统Borg和Omega的发展历程。第2章"Kubernetes运行原理"从宏观角度讲解Kubernetes架构,包括控制平面和工作节点、Kubernetes DNS、应用打包、声明式模型和期望状态、Pod、Deployment、Service对象等核心概念。第3章"获取Kubernetes"详细介绍各种Kubernetes环境选择,包括Kubernetes playground、托管Kubernetes服务、自建集群,以及如何设置环境跟随本书示例,涵盖Play with Kubernetes、Docker Desktop、Google Kubernetes Engine等工具。
第二部分:核心工作负载管理(第4-7章)深入核心资源对象。第4章"使用Pod"深入讲解Pod理论,包括多容器Pod设计模式,通过动手实践演示Pod的创建、管理和清理。第5章"使用命名空间创建虚拟集群"探讨命名空间的用例、检查方法、创建和管理,以及如何在不同命名空间中部署应用。第6章"Kubernetes部署"详细讲解Deployment理论,包括如何创建部署、执行扩缩容操作、执行滚动更新和回滚。第7章"Kubernetes服务"设置场景介绍服务发现需求,深入讲解Service理论,并通过实践演示如何创建和管理服务。
第三部分:网络与存储(第8-10章)覆盖关键基础设施。第8章"Ingress"为Ingress设置场景,讲解Ingress架构,通过实践演示如何配置和管理Ingress资源。第9章"服务发现深度解析"提供快速背景介绍,深入讲解服务注册、服务发现机制,包括命名空间中的服务发现和故障排除。第10章"Kubernetes存储"从宏观角度讲解存储系统,涵盖存储提供商、容器存储接口(CSI)、Kubernetes持久卷子系统、使用存储类进行动态配置等内容。
第四部分:配置管理与有状态应用(第11-12章)处理复杂场景。第11章"ConfigMaps和Secrets"从宏观角度讲解配置管理,深入ConfigMap理论,通过实践演示ConfigMaps和Secrets的使用。第12章"StatefulSets"讲解StatefulSet理论,包括有状态应用的特殊需求,通过实践演示如何创建和管理StatefulSet。
第五部分:安全与API(第13-16章)专注企业级安全实践。第13章"API安全与RBAC"从宏观角度讲解API安全,深入身份验证、授权(RBAC)和准入控制机制。第14章"Kubernetes API"讲解Kubernetes API的宏观架构,深入API服务器工作原理和API设计。第15章"Kubernetes威胁建模"应用STRIDE威胁模型分析Kubernetes安全,涵盖欺骗、篡改、抵赖、信息泄露、拒绝服务和权限提升等威胁,介绍Pod安全策略和更安全的Kubernetes方向。第16章"真实世界Kubernetes安全"从CI/CD流水线、基础设施和网络、身份和访问管理(IAM)、审计和安全监控等角度讲解实际安全实践,提供真实世界示例。
本书所有YAML代码和示例都托管在GitHub仓库(https://github.com/nigelpoulton/TheK8sBook)中,便于读者实践学习。每章结尾都有清理步骤和章节总结,确保学习过程的完整性。
本书适合以下读者群体:
本书的独特之处在于其年度更新承诺,确保内容始终与Kubernetes快速发展保持同步。作者Nigel Poulton作为知名的技术培训师,以其清晰易懂的讲解风格著称,使得复杂的Kubernetes概念变得容易理解和掌握。通过本书,读者不仅能够获得Kubernetes的技术知识,还能培养在实际工作中应用这些知识解决问题的能力。