互联网
类型
可以朗读
语音朗读
481千字
字数
2020-07-01
发行日期
展开全部
主编推荐语
阿里云容器服务团队专家撰写,多年云原生应用开发、管理经验总结,包含大量实战案例。
内容简介
本书从云原生应用的安装、构建、测试、部署、运维等环节系统讲解了云原生应用管理的工具和技术。
全书一共分为四大部分:第一部分(第1~4章)主要介绍Helm的历史与发展过程,以安装Chart为例,从源码角度介绍Helm的整个安装流程。第二部分(第5~8章)主要介绍Kustomize的诞生背景,从Kustomize的概念入手,详细介绍Kustomize的各个功能点,同时结合Kustomize的各个插件来理解其覆盖的领域与功能。第三部分(第9~12章)主要介绍CNAB的概念、CNAB推出的背景与意义。第四部分(第13~16章)主要介绍Operator的概念及意义,以及Operator Framework目前涵盖的组件。
目录
- 版权信息
- 前言
- 第1章 什么是Helm
- 1.1 Helm的发展历程
- 1.2 Helm的适用场景
- 1.3 Helm的社区和生态
- 1.4 Helm的架构设计与工作原理
- 1.4.1 Helm Client
- 1.4.2 Tiller
- 1.5 本章小结
- 第2章 Chart
- 2.1 Chart文件结构
- 2.1.1 Chart.yaml
- 2.1.2 Chart license,README notes
- 2.1.3 Chart Dependences
- 2.1.4 template和values
- 2.2 Helm功能初体验
- 2.2.1 前置条件
- 2.2.2 Helm的三大基本概念
- 2.2.3 安装Helm
- 2.2.4 安装第一个Chart
- 2.2.5 查看当前安装实例
- 2.2.6 删除安装的实例
- 2.2.7 Helm后端存储
- 2.3 helm install
- 2.4 Helm更新与回滚
- 2.4.1 helm upgrade
- 2.4.2 helm history
- 2.4.3 helm rollback
- 2.4.4 一些有用的更新参数
- 2.5 helm repo
- 2.6 创建自己的Chart
- 2.7 Helm Hooks
- 2.7.1 Helm支持的Hooks种类
- 2.7.2 Hooks与Release生命周期的关系
- 2.7.3 简单的Hooks示例
- 2.7.4 使用crd-install来定义一个CRD
- 2.7.5 自动删除先前版本的Hooks
- 2.8 Helm插件
- 2.9 Chart测试
- 2.10 Chart模板开发高阶介绍
- 2.10.1 创建第一个template文件
- 2.10.2 给template添加动态变量
- 2.10.3 模板函数与管道
- 2.10.4 逻辑控制
- 2.10.5 变量
- 2.10.6 自定义模板
- 2.10.7 在模板中引用文件
- 2.10.8 创建一个NOTES.txt文件
- 2.11 本章小结
- 第3章 使用Helm部署Wordpress实战
- 3.1 下载Wordpress Chart
- 3.2 Chart.yaml
- 3.3 requirements.yaml
- 3.4 Charts文件夹
- 3.5 template文件夹
- 3.5.1 helper文件
- 3.5.2 NOTES.txt
- 3.5.3 其他文件
- 3.5.4 tests文件
- 3.6 README.md
- 3.7 values.yaml
- 3.8 安装
- 3.9 本章小结
- 第4章 Helm源码分析
- 4.1 helm install
- 4.1.1 locateChartPath
- 4.1.2 ensureHelmClient
- 4.1.3 InstallCmd Run
- 4.1.4 installReleaseFromChart
- 4.1.5 setupConnection
- 4.1.6 Helm Client install Function
- 4.1.7 返回Release状态信息
- 4.2 Helm Install Server
- 4.2.1 prepareRelease
- 4.2.2 performRelease
- 4.3 Helm update
- 4.3.1 update命令的定义
- 4.3.2 Update服务端的实现
- 4.4 helm ls
- 4.4.1 Client端实现
- 4.4.2 Server端实现
- 4.5 Helm Rollback
- 4.6 Helm delete
- 4.7 Helm 3简介
- 4.8 本章小结
- 第5章 Kustomize入门
- 5.1 Kustomize介绍
- 5.2 Kustomize原理介绍
- 5.3 Kustomize快速入门
- 5.3.1 安装Kustomize
- 5.3.2 通过Kustomize部署helloworld
- 5.4 本章小结
- 第6章 Kustomize详解
- 6.1 Kustomize术语
- 6.2 Kustomize配置详解
- 6.2.1 资源
- 6.2.2 生成器
- 6.2.3 转换器
- 6.3 命令行使用方法
- 6.3.1 命令行使用
- 6.3.2 kustomize build
- 6.3.3 kustomize edit
- 6.3.4 kustomize create
- 6.3.5 kustomize config
- 6.4 基本用法
- 6.4.1 使用configGeneration
- 6.4.2 使用generatorOptions
- 6.4.3 配置转换器
- 6.4.4 使用变量
- 6.4.5 镜像替换
- 6.4.6 补丁
- 6.5 Kustomize插件
- 6.5.1 插件介绍
- 6.5.2 Exec类型插件
- 6.5.3 Go库文件插件
- 6.6 工作流
- 6.6.1 创建配置仓库
- 6.6.2 配置下发
- 6.6.3 使用共享配置
- 6.7 本章小结
- 第7章 Kustomize实战
- 7.1 示例介绍
- 7.1.1 基础配置
- 7.1.2 测试环境
- 7.1.3 生产环境
- 7.1.4 配置管理
- 7.2 通过插件实现不同环境下部署不同的模板
- 7.2.1 项目介绍
- 7.2.2 插件实现
- 7.2.3 运行插件
- 7.3 本章小结
- 第8章 Kustomize源码分析
- 8.1 Kustomize执行流程介绍
- 8.2 kustomize build命令解析
- 8.2.1 NewCmdBuild函数解析
- 8.2.2 NewCmdBuildPrune函数详解
- 8.2.3 RunBuild函数详解
- 8.2.4 AccumulateTarget解析
- 8.2.5 addHashesToNames函数
- 8.2.6 ResolveVars函数
- 8.2.7 computeInventory函数
- 8.3 kustomize edit命令分析
- 8.4 add子命令
- 8.5 set子命令
- 8.6 Fix子命令
- 8.7 remove子命令
- 8.8 kustomize create命令分析
- 8.9 本章小结
- 第9章 走近CNAB
- 9.1 什么是CNAB
- 9.2 CNAB基本概念和原理
- 9.3 CNAB规范
- 9.3.1 bundle.json文件格式
- 9.3.2 调用镜像
- 9.3.3 应用包运行规范
- 9.3.4 包格式规范
- 9.4 Duffle和Porter
- 9.4.1 使用Duffle打包Wordpress
- 9.4.2 使用Porter打包Wordpress
- 9.4.3 使用Duffle还是Porter
- 9.5 本章小结
- 第10章 Porter使用详解
- 10.1 Porter快速上手
- 10.1.1 安装Porter
- 10.1.2 创建应用包
- 10.1.3 部署应用
- 10.1.4 更新和卸载应用
- 10.2 创建应用包
- 10.2.1 应用包元数据
- 10.2.2 mixin
- 10.2.3 参数
- 10.2.4 输出
- 10.2.5 校验规则
- 10.2.6 凭据
- 10.2.7 应用包操作
- 10.2.8 自定义操作
- 10.2.9 依赖
- 10.2.10 镜像
- 10.2.11 自定义Dockerfile
- 10.3 mixin
- 10.3.1 安装mixin
- 10.3.2 常用mixin介绍
- 10.4 Porter命令详解
- 10.5 OCI仓库与应用分发
- 10.6 使用Porter分发CNAB应用
- 10.6.1 发布应用包
- 10.6.2 复制应用包
- 10.6.3 导出应用包
- 10.7 本章小结
- 第11章 Porter实战
- 11.1 创建基本的应用框架
- 11.1.1 环境准备
- 11.1.2 创建基本的应用框架
- 11.2 支持参数和输出
- 11.3 定义多个操作步骤
- 11.4 发布应用包
- 11.5 使用应用包依赖
- 11.6 本章小结
- 第12章 Porter mixin开发和源码解析
- 12.1 mixin实现原理
- 12.1.1 mixin调用机制
- 12.1.2 mixin API
- 12.2 mixin开发
- 12.2.1 创建mixin项目
- 12.2.2 mixin代码概览
- 12.2.3 实现build命令
- 12.2.4 定义JSON Schema
- 12.2.5 实现参数组装逻辑
- 12.3 Porter build源码解析
- 12.4 Porter install源码解析
- 12.4.1 准备应用包
- 12.4.2 准备和执行依赖
- 12.4.3 执行主应用包操作
- 12.4.4 Docker驱动的运行过程
- 12.5 Porter运行时源码解析
- 12.6 本章小结
- 第13章 全面了解Operator
- 13.1 初识Operator
- 13.1.1 什么是Operator
- 13.1.2 Operator的发展
- 13.1.3 Operator的社区与生态
- 13.2 Operator Framework
- 13.3 Operator工作原理
- 13.4 本章小结
- 第14章 Operator Framework功能详解
- 14.1 Operator SDK
- 14.1.1 安装Operator SDK CLI
- 14.1.2 使用Operator SDK CLI
- 14.1.3 Operator的作用域
- 14.1.4 Operator SDK生成的代码框架
- 14.1.5 controller-runtime
- 14.1.6 使用Predicates过滤事件
- 14.1.7 Operator SDK的架构演进
- 14.2 Operator Lifecycle Manager
- 14.2.1 OLM组件模型定义
- 14.2.2 OLM结构介绍
- 14.2.3 OLM的安装
- 14.2.4 依赖解析和升级管理
- 14.2.5 operator-registry
- 14.3 Operator Metering
- 14.3.1 Operator Metering基本架构
- 14.3.2 Operator Metering核心组件
- 14.4 本章小结
- 第15章 Operator实战
- 15.1 基于Operator SDK构建Operator
- 15.1.1 生成第一个Operator项目
- 15.1.2 创建自定义资源定义
- 15.1.3 创建Controller
- 15.1.4 Operator的构建和运行
- 15.2 使用Operator Lifecycle Manager
- 15.2.1 构建一个CSV
- 15.2.2 基于Operator Lifecycle Manager测试Operator
- 15.3 部署和使用Operator Metering
- 15.3.1 安装Operator Metering
- 15.3.2 定制化Prometheus Report Queries
- 15.4 本章小结
- 第16章 Operator示例:cert-manager源码解析
- 16.1 cert-manager基本介绍
- 16.2 cert-manager组件架构解析
- 16.3 基于controller-runtime的cainjector架构解析
- 16.3.1 cainjector的启动流程
- 16.3.2 cainjector的Reconcile函数
- 16.4 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。