作品简介

Kubernetes是一个由Google开源的容器化应用编排系统,该系统为容器化应用提供了强大的资源管理调度、服务发现、应用扩/缩容、应用滚动更新与失败回滚等功能。Kubernetes早在几年前就已经一统容器编排领域,成为容器编排的事实标准,彻底颠覆了软件的开发和运维模式。随着以Kubernetes为中心所构建的云原生应用的不断流行,人们逐渐发现通过Kubernetes原生资源与控制器来管理复杂有状态的应用变得越来越困难。后来Kubernetes开始支持自定义资源,接着又出现了Operator模式,最后Operator模式开始逐渐流行,成为复杂有状态的应用上云的事实标准。

本书详细讲解Operator开发过程中所涉及的各个知识点,从简单的Operator示例应用入手,帮助读者快速上手Operator的开发流程,接着深入分析client-go、Deployment控制器等的源码,通过一个进阶应用的开发过程进一步详细介绍Operator开发的各方面知识。通过本书的学习,读者能够轻松掌握Operator的开发技巧,深入理解Operator的底层原理等,进而在日常工作中更好地通过Operator实现各种复杂的应用治理逻辑的开发。

无论对于云原生领域的开发工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于想要深入研究Kubernetes、掌握Kubernetes Operator开发技能的大中专院校相关专业的学生,本书都极具参考价值。

胡涛编著

作品目录

  • 推荐序1
  • 推荐序2
  • 前言
  • 第一篇 入门
  • 第1章 了解Kubernetes
  • 1.1 初识Kubernetes
  • 1.2 Kubernetes集群的部署
  • 1.3 Kubernetes集群的基本操作
  • 1.4 Kubernetes的核心概念
  • 1.5 Kubernetes的发展历史
  • 1.6 本章小结
  • 第2章 开始Operator开发
  • 2.1 理解控制器模式
  • 2.2 理解Operator模式
  • 2.3 Operator开发环境准备
  • 2.4 Kubebuilder的安装配置
  • 2.5 从Application Operator Demo开始
  • 2.6 Operator的发展历史
  • 2.7 本章小结
  • 第二篇 进阶
  • 第3章 Kubernetes API介绍
  • 3.1 认识Kubernetes API
  • 3.2 使用Kubernetes API
  • 3.3 理解GVK:组、版本与类型
  • 3.4 本章小结
  • 第4章 理解client-go
  • 4.1 client-go项目介绍
  • 4.2 client-go使用示例
  • 4.3 本章小结
  • 第5章 client-go源码分析
  • 5.1 client-go源码概览
  • 5.2 WorkQueue源码分析
  • 5.3 DeltaFIFO源码分析
  • 5.4 Indexer和ThreadSafeStore
  • 5.5 ListerWatcher
  • 5.6 Reflector
  • 5.7 Informer
  • 5.8 本章小结
  • 第6章 项目核心依赖包分析
  • 6.1 API项目
  • 6.2 apimachinery项目
  • 6.3 controller-runtime项目
  • 6.4 本章小结
  • 第7章 Operator开发进阶
  • 7.1 进阶项目设计
  • 7.2 准备application-operator项目
  • 7.3 定义Application资源
  • 7.4 实现Application Controller
  • 7.5 使用Webhook
  • 7.6 API多版本支持
  • 7.7 API分组支持
  • 7.8 本章小结
  • 第8章 Deployment Controller源码分析
  • 8.1 Deployment功能分析
  • 8.2 Deployment源码分析
  • 8.3 本章小结
  • 第三篇 工具
  • 第9章 使用Kustomize管理配置
  • 9.1 Kustomize的基本概念
  • 9.2 Kustomize的安装
  • 9.3 使用Kustomize生成资源
  • 9.4 使用Kustomize管理公共配置项
  • 9.5 使用Kustomize组合资源
  • 9.6 Base和Overlay
  • 9.7 本章小结
  • 第10章 使用Helm打包应用
  • 10.1 Helm的安装
  • 10.2 Helm的基本概念
  • 10.3 Helm的常用操作
  • 10.4 封装自己的Chart包
  • 10.5 本章小结
展开全部