05|K8s最小部署资源对象Pod
王雪飞
你好,我是雪飞。
上一课我们学习了 YAML 文件的相关知识,同时动手编写了 YAML 文件,现在你就可以使用 YAML 文件来与 K8s 集群沟通,从而实现应用部署和集群管理的需求。在接下来的课程中,我将继续深入介绍 K8s 中常用的资源对象,这些资源对象提供了应用部署、参数配置、网络访问、持久化存储、安全策略等等功能,满足各种实际的应用场景。对于 K8s 资源对象的管理,我会同时使用 kubectl 命令和 YAML 文件这两种方式来加深你的理解和记忆。
今天,我给你讲一下 K8s 中最核心的资源对象——Pod,它是 K8s 管理的最小可部署资源对象。其他很多资源对象都是基于 Pod 来实现更复杂的应用部署和管理。例如,Deployment 就是通过管理多个 Pod 来实现应用的高可用性和滚动更新。接下来,让我们详细了解一下什么是 Pod。
认识 Pod
Pod 的中文意思为豌豆荚,因为 Pod 中包含了一个或多个容器,容器和 Pod 的关系很像豌豆和豆荚的关系,所以这就是 Pod 名称的来历。在 K8s 中,Pod 是一个逻辑概念,而容器才是运行着应用镜像的实际载体,那为啥 K8s 不直接管理容器,而是还要搞出一个 Pod 呢?
最重要的原因就是:在一些常见的应用场景下,容器并不是孤零零的存在,它可能会跟其他容器之间有着很亲密的关系,它们相互协作,一起启动,一起停止,一起提供服务,同时它们需要彼此间可以方便的通信以及访问相同的数据。所以 K8s 就在容器的基础上创建了 Pod 这个更高层级的资源对象,Pod 可以将多个容器组合到一起部署和管理,同一 Pod 中的容器可以共享网络和存储空间,这种机制保证了对容器管理的一致性和灵活性。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
0/2000
1. Pod 是 K8s 中最核心的资源对象,是最小可部署资源对象,其他资源对象都是基于 Pod 来实现更复杂的应用部署和管理。
2. Pod 中的容器共享网络和存储空间,通过 Infra Container 实现容器之间的网络共享,以及通过数据卷 Volume 实现多个容器之间的共享存储。
3. Pod 中多容器常用于边车模式(Sidecar),其中主容器运行核心业务应用,而辅助容器负责日志收集、监控等任务,扩展了应用功能,类似于三轮摩托车的边车模式。
4. 静态 Pod 是一种通过节点上指定目录中的 YAML 文件自动部署的特殊 Pod,通常用于部署集群级别的系统组件,如 K8s 集群自己的很多系统组件就是静态 Pod。
5. 静态 Pod 会自动部署,而不是通过 K8s 的 API Server 创建,需要放置在节点的指定目录下,节点的 kubelet 组件就会自动创建静态 Pod。
6. 了解 Pod 的共享机制和相关命令,对 Pod 已经有了一个全面的认识,包括使用 YAML 文件的方式部署多容器的 Pod 和使用 kubectl 命令管理 Pod。
7. 部署多容器的 Pod 是 CKA 考试的核心考点,需要用 YAML 文件的方式部署 Pod,因此了解 YAML 文件的写法是必要的。
8. Pod 是通过多个容器挂载共同的数据卷 Volume 来实现共享存储,使得各个容器能够通过共享存储空间进行文件存取,实现业务功能和统计分析功能的分离。
9. 静态 Pod 通常用于部署集群级别的系统组件,需要在集群启动时就可用,并且可以随着节点重启而自动重启。
10. 创建静态 Pod 只需要把 Pod 的 YAML 文件放到指定目录下,节点的 kubelet 组件就会自动创建静态 Pod。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础拿下云原生 CKA 认证》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。