• 云原生应用管理:原理与实践
  • 云原生应用管理:原理与实践
  • 云原生应用管理:原理与实践
  • 云原生应用管理:原理与实践
21年品牌 40万+商家 超1.5亿件商品

云原生应用管理:原理与实践

10 九品

仅1件

北京丰台
认证卖家担保交易快速发货售后保障

作者陈显鹭、阚俊宝、匡大虎、卢稼奇 著

出版社机械工业出版社

出版时间2020-08

版次1

装帧其他

货号B2/4

上书时间2024-12-28

   商品详情   

品相描述:九品
图书标准信息
  • 作者 陈显鹭、阚俊宝、匡大虎、卢稼奇 著
  • 出版社 机械工业出版社
  • 出版时间 2020-08
  • 版次 1
  • ISBN 9787111659495
  • 定价 119.00元
  • 装帧 其他
  • 开本 16开
  • 页数 448页
  • 字数 0.2千字
【内容简介】

这是一部从原理与实践角度讲解云原生应用管理的著作,是阿里云容器服务团队工程师多年云原生应用开发与管理经验的总结。详细讲解了Helm、Kustomize、CNAB、Operator等云原生应用管理框架和工具的应用场景、功能和使用,并通过源码讲解了它们的实现原理,同时提供了大量的案例和代码解析,能帮助读者轻松掌握云原生应用的管理。

 

全书一共16章,分为4个部分:

 

第一部分(第1~4章) Helm

 

首先介绍了Helm的发展历程、适用场景、架构设计、工作机制;然后以Chart为例,讲解了Helm的功能和使用方法;最后通过源代码分析了Helm的实现原理。

 

第二部分(第5~8章) Kustomize

 

首先介绍了Kustomize的诞生背景、适用场景、工作机制;然后详细讲解了它的功能和使用方法;最后通过源代码分析了它的实现原理。

 

第三部分(第9~12章) CNAB

 

首先介绍了CNAB的基本概念、原理和规范;然后以Porter为例,详细讲解了它的功能、用法和实战;最后通过源代码分析了Porter的实现原理,同时讲解了mixin的开发。

 

第四部分(第13~16章) Operator

 

首先介绍了Operator的概念、发展和工作原理,然后详细讲解了它的功能、用法、架构、组件和实战,最后通过源代码分析了它的实现原理。

 


【作者简介】

陈显鹭

 

阿里云容器服务技术专家, CNCF基金会下多个项目的贡献者和维护者,专注于容器技术的编排与基础环境研究。爱好折腾源代码,热爱开源文化并积极参与社区开源项目的研发。

 

阚俊宝

 

阿里云容器服务技术专家,专注Kubernetes、Docker、云存储,是阿里云CSI存储核心维护者。

 

匡大虎

 

阿里云容器服务技术专家,专注云原生安全,是阿里云容器服务云原生安全核心成员。

 

卢稼奇

 

阿里云容器服务高级开发工程师,专注Kubernetes、云原生应用编排、前端技术开发。

 


【目录】

Contents?目  录

 

前言

 

第1章 什么是Helm  1

 

1.1 Helm的发展历程  1

 

1.2 Helm的适用场景  2

 

1.3 Helm的社区和生态  3

 

1.4 Helm的架构设计与工作原理  4

 

1.4.1 Helm Client  4

 

1.4.2 Tiller  5

 

1.5 本章小结  5

 

第2章 Chart  7

 

2.1 Chart文件结构  7

 

2.1.1 Chart.yaml  8

 

2.1.2 Chart license, README notes  9

 

2.1.3 Chart Dependences  10

 

2.1.4 template和values  14

 

2.2 Helm功能初体验  18

 

2.2.1 前置条件  18

 

2.2.2 Helm的三大基本概念  18

 

2.2.3 安装Helm  18

 

2.2.4 安装第一个Chart  19

 

2.2.5 查看当前安装实例  21

 

2.2.6 删除安装的实例  21

 

2.2.7 Helm后端存储  22

 

2.3 helm install  23

 

2.4 Helm 更新与回滚  25

 

2.4.1 helm upgrade  25

 

2.4.2 helm history  25

 

2.4.3 helm rollback  26

 

2.4.4 一些有用的更新参数  26

 

2.5 helm repo  26

 

2.6 创建自己的Chart  28

 

2.7 Helm Hooks  29

 

2.7.1 Helm支持的Hooks种类  30

 

2.7.2 Hooks 与Release 生命周期的关系  30

 

2.7.3 简单的Hooks示例  31

 

2.7.4 使用crd-install来定义一个CRD  33

 

2.7.5 自动删除先前版本的Hooks  33

 

2.8 Helm插件  34

 

2.9 Chart测试  36

 

2.10 Chart模板开发高阶介绍  38

 

2.10.1 创建第一个template文件  39

 

2.10.2 给template添加动态变量  41

 

2.10.3 模板函数与管道  42

 

2.10.4 逻辑控制  45

 

2.10.5 变量  51

 

2.10.6 自定义模板  53

 

2.10.7 在模板中引用文件  58

 

2.10.8 创建一个NOTES.txt文件  60

 

2.11 本章小结  61

 

第3章 使用Helm部署Wordpress实战  63

 

3.1 下载Wordpress Chart  63

 

3.2 Chart.yaml  64

 

3.3 requirements.yaml  64

 

3.4 Charts文件夹  65

 

3.5 template文件夹  65

 

3.5.1 helper文件  66

 

3.5.2 NOTES.txt  68

 

3.5.3 其他文件  69

 

3.5.4 tests文件  71

 

3.6 README.md  72

 

3.7 values.yaml  72

 

3.8 安装  73

 

3.9 本章小结  76

 

第4章 Helm 源码分析  77

 

4.1 helm install  77

 

4.1.1 locateChartPath  78

 

4.1.2 ensureHelmClient  81

 

4.1.3 InstallCmd Run  81

 

4.1.4 installReleaseFromChart  83

 

4.1.5 setupConnection  84

 

4.1.6 Helm Client install Function  85

 

4.1.7 返回Release状态信息  87

 

4.2 Helm Install Server  88

 

4.2.1 prepareRelease  89

 

4.2.2 performRelease  90

 

4.3 Helm update  93

 

4.3.1 update 命令的定义  93

 

4.3.2 Update 服务端的实现  94

 

4.4 helm ls  96

 

4.4.1 Client 端实现  96

 

4.4.2 Server端实现  98

 

4.5 Helm Rollback  100

 

4.6 Helm delete  102

 

4.7 Helm 3简介  104

 

4.8 本章小结  108

 

第5章 Kustomize入门  109

 

5.1 Kustomize介绍  109

 

5.2 Kustomize原理介绍  111

 

5.3 Kustomize快速入门  113

 

5.3.1 安装Kustomize  113

 

5.3.2 通过Kustomize部署helloworld  114

 

5.4 本章小结  117

 

第6章 Kustomize详解  118

 

6.1 Kustomize术语  118

 

6.2 Kustomize配置详解  121

 

6.2.1 资源  121

 

6.2.2 生成器  122

 

6.2.3 转换器  124

 

6.3 命令行使用方法  128

 

6.3.1 命令行使用  128

 

6.3.2 kustomize build  130

 

6.3.3 kustomize edit  136

 

6.3.4 kustomize create  141

 

6.3.5 kustomize conf?ig  143

 

6.4 基本用法  147

 

6.4.1 使用conf?igGeneration  147

 

6.4.2 使用generatorOptions  149

 

6.4.3 配置转换器  150

 

6.4.4 使用变量  153

 

6.4.5 镜像替换  154

 

6.4.6 补丁  156

 

6.5 Kustomize插件  161

 

6.5.1 插件介绍  162

 

6.5.2 Exec类型插件  163

 

6.5.3 Go库文件插件  165

 

6.6 工作流  169

 

6.6.1 创建配置仓库  169

 

6.6.2 配置下发  170

 

6.6.3 使用共享配置  170

 

6.7 本章小结  172

 

第7章 Kustomize实战  173

 

7.1 示例介绍  173

 

7.1.1 基础配置  174

 

7.1.2 测试环境  177

 

7.1.3 生产环境  180

 

7.1.4 配置管理  185

 

7.2 通过插件实现不同环境下部署不同的模板  186

 

7.2.1 项目介绍  187

 

7.2.2 插件实现  188

 

7.2.3 运行插件  191

 

7.3 本章小结  193

 

第8章 Kustomize源码分析  194

 

8.1 Kustomize 执行流程介绍  194

 

8.2 kustomize build命令解析  196

 

8.2.1 NewCmdBuild函数解析  197

 

8.2.2 NewCmdBuildPrune函数详解  198

 

8.2.3 RunBuild函数详解  199

 

8.2.4 AccumulateTarget 解析  203

 

8.2.5 addHashesToNames函数  210

 

8.2.6 ResolveVars函数  211

 

8.2.7 computeInventory函数  212

 

8.3 kustomize edit命令分析  214

 

8.4 add子命令  215

 

8.5 set子命令  225

 

8.6 Fix子命令  228

 

8.7 remove子命令  229

 

8.8 kustomize create 命令分析  230

 

8.9 本章小结  233

 

第9章 走近CNAB  234

 

9.1 什么是CNAB  234

 

9.2 CNAB 基本概念和原理  236

 

9.3 CNAB规范  238

 

9.3.1 bundle.json文件格式  239

 

9.3.2 调用镜像  245

 

9.3.3 应用包运行规范  246

 

9.3.4 包格式规范  247

 

9.4 Duffle和Porter  248

 

9.4.1 使用Duffle打包Wordpress  248

 

9.4.2 使用Porter打包Wordpress  250

 

9.4.3 使用Duffle还是Porter  251

 

9.5 本章小结  251

 

第10章 Porter使用详解  252

 

10.1 Porter快速上手  252

 

10.1.1 安装Porter  252

 

10.1.2 创建应用包  253

 

10.1.3 部署应用  254

 

10.1.4 更新和卸载应用  255

 

10.2 创建应用包  255

 

10.2.1 应用包元数据  257

 

10.2.2 mixin  257

 

10.2.3 参数  258

 

10.2.4 输出  259

 

10.2.5 校验规则  260

 

10.2.6 凭据  260

 

10.2.7 应用包操作  261

 

10.2.8 自定义操作  263

 

10.2.9 依赖  263

 

10.2.10 镜像  263

 

10.2.11 自定义Dockerf?ile  264

 

10.3 mixin  265

 

10.3.1 安装mixin  266

 

10.3.2 常用mixin介绍  266

 

10.4 Porter命令详解  270

 

10.5 OCI仓库与应用分发  276

 

10.6 使用Porter分发CNAB应用  278

 

10.6.1 发布应用包  278

 

10.6.2 复制应用包  280

 

10.6.3 导出应用包  281

 

10.7 本章小结  282

 

第11章 Porter实战  283

 

11.1 创建基本的应用框架  283

 

11.1.1 环境准备  283

 

11.1.2 创建基本的应用框架  284

 

11.2 支持参数和输出  288

 

11.3 定义多个操作步骤  291

 

11.4 发布应用包  295

 

11.5 使用应用包依赖  298

 

11.6 本章小结  300

 

第12章 Porter mixin开发和源码解析  301

 

12.1 mixin实现原理  301

 

12.1.1 mixin调用机制  301

 

12.1.2 mixin API  302

 

12.2 mixin开发  306

 

12.2.1 创建mixin项目  306

 

12.2.2 mixin代码概览  308

 

12.2.3 实现build命令  312

 

12.2.4 定义JSON Schema  313

 

12.2.5 实现参数组装逻辑  316

 

12.3 Porter build源码解析  320

 

12.4 Porter install源码解析  329

 

12.4.1 准备应用包  330

 

12.4.2 准备和执行依赖  332

 

12.4.3 执行主应用包操作  336

 

12.4.4 Docker驱动的运行过程  339

 

12.5 Porter运行时源码解析  342

 

12.6 本章小结  346

 

第13章 全面了解Operator  347

 

13.1 初识Operator  348

 

13.1.1 什么是Operator  348

 

13.1.2 Operator的发展  349

 

13.1.3 Operator的社区与生态   351

 

13.2 Operator Framework  352

 

13.3 Operator 工作原理  354

 

13.4 本章小结  357

 

第14章 Operator Framework功能详解  358

 

14.1 Operator SDK  358

 

14.1.1 安装Operator SDK CLI  358

 

14.1.2 使用Operator SDK CLI  360

 

14.1.3 Operator的作用域  363

 

14.1.4 Operator SDK生成的代码框架  365

 

14.1.5 controller-runtime  367

 

14.1.6 使用Predicates过滤事件  381

 

14.1.7 Operator SDK的架构演进  383

 

14.2 Operator Lifecycle Manager  387

 

14.2.1 OLM组件模型定义  387

 

14.2.2 OLM结构介绍   389

 

14.2.3 OLM的安装  390

 

14.2.4 依赖解析和升级管理  392

 

14.2.5 operator-registry  395

 

14.3 Operator Metering  398

 

14.3.1 Operator Metering基本架构  398

 

14.3.2 Operator Metering核心组件  400

 

14.4 本章小结  407

 

第15章 Operator实战  408

 

15.1 基于Operator SDK构建Operator  408

 

15.1.1 生成第一个Operator项目  408

 

15.1.2 创建自定义资源定义  409

 

15.1.3 创建Controller  410

 

15.1.4 Operator的构建和运行  416

 

15.2 使用Operator Lifecycle Manager  419

 

15.2.1 构建一个CSV  419

 

15.2.2 基于Operator Lifecycle Manager测试Operator  423

 

15.3 部署和使用Operator Metering  425

 

15.3.1 安装Operator Metering  426

 

15.3.2 定制化Prometheus Report Queries  426

 

15.4 本章小结  432

 

第16章 Operator示例:cert-manager源码解析  433

 

16.1 cert-manager基本介绍  433

 

16.2 cert-manager组件架构解析  434

 

16.3 基于controller-runtime的cainjector架构解析  441

 

16.3.1 cainjector的启动流程  441

 

16.3.2 cainjector的Reconcile函数  446

 

16.4 本章小结  448

 


点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP