编辑推荐
手把手带你上手containerd生产实践中的配置以及落地实践。
内容简介
本书旨在帮助读者全面了解containerd的基本原理和概念。
本书从云原生与容器运行时讲起,内容涵盖云原生和容器的发展史,容器技术的Linux原理,containerd的架构、原理、功能、部署、配置、插件扩展开发等,并详细介绍containerd生产实践中的配置以及落地实践,使读者对containerd的概念、原理、实践有比较清晰的了解。
本书适合作为云原生和容器技术的架构师、研发工程师和运维工程师的参考资料,也适合作为希望了解云计算和容器技术的爱好者的自学用书和参考手册。
作者简介
编著者赵吉壮,硕士毕业于浙江大学控制科学与工程学院,字节跳动火山引擎云计算架构师,Kubernetes、Knative等开源社区成员。
具备多年云原生领域架构设计与研发经验,主导火山引擎边缘容器完成从0到1的建设。专注于kubernetes、Serverless、容器等技术的研究,译作有《Knative最佳实践》和《Knative快速入门与实践》等书籍。
章节目录
版权信息
内容简介
作者简介
前言
第1章 云原生与容器运行时
1.1 云原生概述
1.1.1 云原生的定义
1.1.2 云原生应用的价值
1.1.3 云原生应用与传统应用对比
1.2 云原生技术栈与容器运行时
1.2.1 云原生技术栈
1.2.2 容器运行时
1.3 Docker与Kubernetes的发展史
1.3.1 Docker的发展历史及与容器世界的关联
1.3.2 Docker架构的发展
1.4 containerd概述
第2章 初识容器运行时
2.1 容器技术的发展史
2.2 容器Linux基础
2.2.1 容器是如何运行的
2.2.2 namespace
2.2.3 Cgroups
2.2.4 chroot和pivot_root
2.3 容器运行时概述
2.3.1 什么是容器运行时
2.3.2 OCI规范
2.3.3 低级容器运行时
2.3.4 高级容器运行时
第3章 使用containerd
3.1 containerd的安装与部署
3.1.1 containerd的安装
3.1.2 配置containerd.service
3.2 ctr的使用
3.2.1 ctr的安装
3.2.2 namespace
3.2.3 镜像操作
3.2.4 容器操作
3.3 nerdctl的使用
3.3.1 nerdctl的设计初衷
3.3.2 安装和部署nerdctl
3.3.3 nerdctl的命令行使用
3.3.4 运行容器
3.3.5 构建镜像
第4章 containerd与云原生生态
4.1 Kubernetes与CRI
4.1.1 Kubernetes概述
4.1.2 CRI与containerd在Kubernetes生态中的演进
4.1.3 CRI概述
4.1.4 几种CRI实现及其概述
4.2 containerd与CRI Plugin
4.2.1 containerd中的CRI Plugin
4.2.2 CRI Plugin中的重要配置
4.2.3 CRI Plugin中的配置项全解
4.3 crictl的使用
4.3.1 crictl概述
4.3.2 crictl的安装和配置
4.3.3 crictl使用说明
第5章 containerd与容器网络
5.1 容器网络接口
5.1.1 CNI概述
5.1.2 CNI配置文件的格式
5.1.3 容器运行时对CNI插件的调用
5.1.4 CNI插件的执行流程
5.1.5 CNI插件的委托调用
5.1.6 CNI插件接口的输出格式
5.1.7 手动配置容器网络
5.2 CNI插件介绍
5.2.1 main类插件
5.2.2 ipam类插件
5.2.3 meta类插件
5.3 containerd中CNI的使用
5.3.1 containerd中CNI的安装与部署
5.3.2 nerdctl使用CNI
5.3.3 CRI使用CNI
5.3.4 ctr使用CNI
第6章 containerd与容器存储
6.1 containerd中的数据存储
6.1.1 理解容器镜像
6.1.2 containerd中的存储目录
6.1.3 containerd中的镜像存储
6.1.4 containerd中的content
6.1.5 containerd中的snapshot
6.2 containerd镜像存储插件snapshotter
6.2.1 Docker中的镜像存储管理graphdriver
6.2.2 graphdriver与snapshotter
6.2.3 snapshotter概述
6.2.4 containerd中如何使用snapshotter
6.3 containerd支持的snapshotter
6.3.1 native snapshotter
6.3.2 overlayfs snapshotter
6.3.3 devmapper snapshotter
第7章 containerd核心组件解析
7.1 containerd架构总览
7.2 containerd API和Core
7.2.1 GRPC API
7.2.2 Services
7.2.3 Metadata
7.3 containerd Backend
7.3.1 containerd中的proxy plugins
7.3.2 containerd中的Runtime和shim
7.3.3 containerd shim规范
7.3.4 shim工作流程解析
7.4 containerd与NRI
7.4.1 NRI概述
7.4.2 NRI插件原理
7.4.3 containerd中启用NRI插件
7.4.4 containerd NRI插件示例
7.4.5 NRI插件的应用
第8章 containerd生产与实践
8.1 containerd监控实践
8.1.1 安装Prometheus
8.1.2 Prometheus上containerd的指标采集配置
8.1.3 Grafana监控配置
8.1.4 配置containerd面板
8.2 基于containerd开发自己的容器客户端
8.2.1 初始化Client
8.2.2 拉取镜像
8.2.3 创建OCI Spec
8.2.4 创建task
8.2.5 启动task
8.2.6 停止task
8.2.7 运行示例
8.3 开发自己的NRI插件
8.3.1 插件定义与接口实现
8.3.2 插件实例化与启动
8.3.3 插件的运行演示
containerd原理剖析与实战是2024年由清华大学出版社出版,作者赵吉壮 编著。
得书感谢您对《containerd原理剖析与实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。