极客时间商城店铺主页二维码
极客时间商城
为极致和美好付费
微信扫描二维码,访问我们的微信店铺

官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍

69.00
运费: ¥ 0.00-30.00
库存: 785 件
官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍 商品图0
官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍 商品图1
官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍 商品缩略图0 官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍 商品缩略图1

商品详情

全书分为5篇:

1.第1篇为入门部分,通过一个快速地上手实验让读者体验 GitOps 的强大之处,激起读者的学习欲望;

2.第二篇为核心基础部分,将介绍组成 GitOps 的核心基础例如容器化、K8s、持续构建和应用定义;

3.第三篇为进阶部分,将带领读者从零构建一个生产可用的 GitOps 工作流,并介绍高级发布策略、多环境管理、可观测性、分布式追踪以及云原生开发的相关内容;

4.第四篇为实施指南,将介绍如何在不同规模的公司下实施新技术,在实施过程如何排除非技术因素;

5.第五篇为行业认识部分,将介绍如何通过 CNCF 获取一手的云原生信息以及 GitOps 的历史发展。






目录:  


目 录  Contents

推荐序

前 言

第一部分 背景

第1章 从零上手GitOps2

1.1 构建容器镜像2

1.1.1 初识容器镜像2

1.1.2 构建镜像4

1.1.3 构建方法总结7

1.2 将镜像部署到Kubernetes8

1.2.1 初识Kubernetes8

1.2.2 本地安装Kubernetes8

1.2.3 部署容器镜像9

1.2.4 查看和访问Pod11

1.2.5 进程、容器镜像和工作负载的

   关系11

1.3 自动扩/缩容和自愈12

1.3.1 传统扩/缩容和自愈方案12

1.3.2 传统方案的缺点13

1.3.3 Kubernetes自愈13

1.3.4 Kubernetes自动扩/缩容16

1.4 构建工作流17

1.4.1 Kubernetes应用的一般发布流程18

1.4.2 安装Flux CD20

1.4.3 构建GitOps工作流21

1.4.4 自动发布23

1.4.5 快速回滚24

1.5 小结25

第二部分 GitOps核心技术

第2章 Docker极简实战28

2.1 为不同语言的应用构建容器镜像28

2.1.1 Java28

2.1.2 Golang32

2.1.3 Node.js33

2.1.4 Vue35

2.1.5 构建多平台镜像38

2.2 压缩镜像体积42

2.2.1 查看镜像大小42

2.2.2 替换基础镜像43

2.2.3 重新思考Dockerfile43

2.2.4 多阶段构建45

2.2.5 进一步压缩46

2.2.6 极限压缩47

2.2.7 复用构建缓存48

2.3 基础镜像的选择48

2.3.1 通用镜像48

2.3.2 专用镜像50

2.4 小结52

第3章 Kubernetes极简实战54

3.1 示例应用54

3.1.1 应用架构54

3.1.2 部署对象55

3.1.3 部署示例应用56

3.1.4 Kubernetes对象解析58

3.2 命名空间59

3.2.1 概述59

3.2.2 使用场景62

3.2.3 跨命名空间通信62

3.2.4 规划命名空间63

3.3 工作负载类型和使用场景64

3.3.1 ReplicaSet64

3.3.2 Deployment66

3.3.3 StatefulSet68

3.3.4 DaemonSet69

3.3.5 Job和CronJob69

3.4 服务发现和Service对象71

3.4.1 Pod通信71

3.4.2 Service工作原理72

3.4.3 Endpoints74

3.4.4 Service IP74

3.4.5 Service域名75

3.4.6 Service类型76

3.5 服务配置管理77

3.5.1 传统的配置管理方式78

3.5.2 Env79

3.5.3 ConfigMap80

3.5.4 Secret82

3.6 服务暴露83

3.6.1 传统的服务暴露方式83

3.6.2 NodePort84

3.6.3 LoadBalancer85

3.6.4 Ingress86

3.7 资源配额和服务质量88

3.7.1 概述88

3.7.2 初识CPU和内存88

3.7.3 查看Pod资源消耗89

3.7.4 资源请求和资源限制89

3.7.5 服务质量90

3.8 水平扩容91

3.8.1 基于CPU的扩容策略92

3.8.2 基于内存的扩容策略92

3.9 服务探针93

3.9.1 Pod和容器的状态93

3.9.2 探针类型和检查方式94

3.9.3 就绪探针95

3.9.4 存活探针97

3.9.5 StartupProbe探针98

3.10 小结100

第4章 持续集成101

4.1 GitHub Action101

4.1.1 基本概念101

4.1.2 创建持续集成Pipeline102

4.2 GitLab CI109

4.2.1 基本概念109

4.2.2 创建持续集成Pipeline110

4.3 Tekton114

4.3.1 安装组件114

4.3.2 基本概念120

4.3.3 创建Tekton Pipeline121

4.3.4 创建GitHub Webhook128

4.3.5 触发Pipeline128

4.4 小结130

第5章 镜像仓库131

5.1 搭建Harbor企业级镜像仓库131

5.1.1 安装组件131

5.1.2 访问Dashboard134

5.1.3 推送镜像134

5.2 在Tekton Pipeline中使用Harbor136

5.2.1 修改仓库地址136

5.2.2 修改凭据137

5.2.3 触发Pipeline137

5.3 Harbor生产建议138

5.3.1 PVC在线扩容138

5.3.2 使用S3存储镜像139

5.3.3 使用托管数据库和Redis140

5.3.4 开启“自动扫描镜像”和

   “阻止潜在漏洞镜像”功能141

5.4 小结142

第6章 应用定义143

6.1 Kustomize143

6.1.1 准备示例应用144

6.1.2 环境差异分析145

6.1.3 创建基准Manifest145

6.1.4 创建不同环境下差异化的

      Manifest146

6.1.5 部署149

6.2 Helm Chart151

6.2.1 基本概念151

6.2.2 示例应用改造152

6.2.3 部署156

6.2.4 发布157

6.3 Helm应用管理159

6.3.1 调试160

6.3.2 查看已安装的Helm Release160

6.3.3 更新Helm Release160

6.3.4 查看Helm Release历史版本161

6.3.5 回滚Helm Release161

6.3.6 卸载Helm Release161

6.4 小结161

第7章 GitOps工作流162

7.1 使用Argo CD构建GitOps

     工作流162

7.1.1 工作流总览162

7.1.2 安装Argo CD163

7.1.3 创建应用165

7.1.4 连接工作流168

7.1.5 触发GitOps工作流169

7.2 生产建议170

7.2.1 修改默认密码170

7.2.2 配置Ingress和TLS170

7.2.3 使用Webhook触发171

7.2.4 将源码仓库和应用定义仓库

   分离173

7.2.5 加密Git仓库中存储的密钥173

7.3 自动监听镜像版本变更触发

   工作流174

7.3.1 工作流总览175

7.3.2 安装Argo CD Image Updater175

7.3.3 创建镜像拉取凭据176

7.3.4 创建Helm Chart仓库176

7.3.5 创建应用177

7.3.6 触发工作流179

7.4 小结180

第三部分 高级技术

第8章 高级发布策略182

8.1 蓝绿发布182

8.1.1 概述183

8.1.2 手动实现蓝绿发布183

8.1.3 Argo Rollout自动实现蓝绿

   发布189

8.1.4 原理解析194

8.2 金丝雀发布195

8.2.1 概述196

8.2.2 手动实现金丝雀发布197

8.2.3 Argo Rollout自动实现金丝雀

   发布202

8.2.4 原理解析209

8.3 自动渐进式交付211

8.3.1 概述211

8.3.2 创建生产环境212

8.3.3 创建Analysis Template215

8.3.4 安装组件并配置216

8.3.5 启动自动渐进式交付流水线219

8.4 小结223

第9章 多环境管理224

9.1 环境类型和晋升224

9.1.1 环境隔离方式224

9.1.2 环境晋升225

9.2 环境管理模型226

9.2.1 多分支管理模型226

9.2.2 单分支管理模型227

9.3 自动多环境管理227

9.3.1 概述228

9.3.2 示例应用229

9.3.3 ApplicationSet230

9.3.4 访问多环境232

9.3.5 自动创建新环境232

9.4 小结233

第10章 GitOps安全234

10.1 重点关注对象234

10.1.1 Docker镜像234

10.1.2 业务依赖235

10.1.3 CI流水线235

10.1.4 镜像仓库236

10.1.5 Git仓库236

10.1.6 Kubernetes集群237

10.1.7 云厂商服务237

10.2 安全存储密钥238

10.2.1 Sealed Secrets238

10.2.2 External Secrets238

10.2.3 Vault238

10.3 Sealed Secrets实战239

10.3.1 安装239

10.3.2 示例应用240

10.3.3 创建Argo CD应用240

10.3.4 加密Secret对象241

10.3.5 验证Secret对象244

10.3.6 原理解析244

10.3.7 生产建议245

10.4 小结246

第11章 可观测性247

11.1 健康状态排查247

11.1.1 应用健康状态247

11.1.2 Pod健康状态248

11.1.3 Service连接状态251

11.1.4 Ingress连接状态251

11.2 日志252

11.2.1 Loki安装252

11.2.2 部署示例应用254

11.2.3 查询日志254

11.2.4 常见的LogQL用途258

11.2.5 Loki工作原理解析263

11.2.6 生产建议264

11.3 监控266

11.3.1 安装Prometheus和其他必要

    组件266

11.3.2 配置Loki数据源268

11.3.3 部署示例应用270

11.3.4 查询监控指标270

11.3.5 Dashboard市场276

11.4 告警278

11.4.1 选择告警指标279

11.4.2 配置告警策略280

11.4.3 配置邮箱通知282

11.4.4 触发告警285

11.4.5  CPU使用率告警287

11.4.6 飞书告警通知配置289

11.5 小结293

第12章 服务网格和分布式追踪294

12.1 服务网格294

12.1.1 Istio简介295

12.1.2 安装Istio296

12.1.3 示例应用297

12.1.4 流量管理:超时299

12.1.5 流量管理:熔断302

12.2 分布式追踪304

12.2.1 原理解析304

12.2.2 Jaeger305

12.2.3 Zipkin308

12.2.4 SkyWalking311

12.3 小结315

第13章 云原生开发316

13.1 开发循环反馈316

13.1.1 架构演进317

13.1.2 循环反馈变慢的原因318

13.1.3 提高循环反馈效率319

13.2 远程开发321

13.2.1 安装Nocalhost322

13.2.2 添加Kubernetes集群323

13.2.3 部署示例应用324

13.2.4 秒级开发循环反馈324

13.3 热加载和一键调试327

13.3.1 容器热加载327

13.3.2 一键调试329

13.3.3 原理解析331

13.4 小结332

第四部分 知识拓展与落地

第14章 云原生知识拓展334

14.1 CNCF和云计算334

14.1.1 组织形式335

14.1.2 项目托管336

14.1.3 职业认证337

14.2 GitOps原则和优势337

14.2.1 GitOps的定义337

14.2.2 GitOps的4个原则338

14.2.3 GitOps的优势338

14.2.4 GitOps成为交付标准的原因339

14.3 GitOps最佳实践:Argo CD340

14.3.1 特性340

14.3.2 Argo CD和Flux CD对比342

14.3.3 Argo生态342

14.4 命令式和声明式开发344

14.4.1 什么是命令式开发345

14.4.2 什么是声明式开发345

14.4.3 命令式开发和声明式开发

    对比347

14.4.4 Kubernetes实现声明式开发

    的核心原理348

14.4.5 其他声明式项目349

14.5 小结351

第15章 如何落地GitOps352

15.1 说服团队352

15.2 迁移原则353

15.2.1 提供组织保障353

15.2.2 工作流最小变更原则354

15.2.3 利用已有的基础设施354

15.3 小结355



极客时间商城店铺主页二维码
极客时间商城
为极致和美好付费
扫描二维码,访问我们的微信店铺

官网 云原生架构与GitOps实战 王炜 张思施 云计算与虚拟化技术丛书 云原生技术书籍

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏