k8s中的容器

目录

容器

容器的状态

  1. Running(运行中):容器正在运行并且正常工作。
  2. Waiting(等待中):容器正在等待某些条件满足,例如等待其他容器就绪、等待网络连接等。
  3. Terminated(已终止):容器已经完成工作并终止。这可能是正常的完成,也可能是出现错误导致终止。

容器的重启策略

Pod 的 spec 中包含一个 restartPolicy 字段,其可能取值包括 Always、OnFailure 和 Never。默认值是 Always。

restartPolicy 适用于 Pod 中的所有容器。restartPolicy 仅针对同一节点上 kubelet 的容器重启动作。当 Pod 中的容器退出时,kubelet 会按指数回退方式计算重启的延迟(10s、20s、40s、...),其最长延迟为 5 分钟。 一旦某容器执行了 10 分钟并且没有出现问题,kubelet 对该容器的重启回退计时器执行重置操作。

pause容器

启动一个pod最先会创建一个pause,pause容器会把所有需要的namespace都创建好,业务app会直接跟他共享

"pause" 容器是一个特殊的辅助容器,它在每个 Pod 内隐式地存在。"pause" 容器没有实际的应用程序逻辑,它的存在是为了管理 Pod 的网络命名空间和共享存储卷。

每个 Kubernetes Pod 都有一个共享的网络命名空间,其中包括网络接口和 IP 地址。为了实现这种网络隔离,Kubernetes 使用了 "pause" 容器。这个容器负责维护 Pod 的网络设置,并在其他容器之间共享网络命名空间,使它们可以相互通信。

此外,"pause" 容器还为 Pod 提供了共享存储卷。其他容器可以挂载这个共享存储卷,以在 Pod 内部共享文件。

以下是一些关于 "pause" 容器的重要信息:

  • 镜像: "pause" 容器使用一个特殊的轻量级镜像,通常是 "k8s.gcr.io/pause"。
  • 进程: "pause" 容器没有运行的实际进程,它的存在只是为了保持网络命名空间和存储卷的隔离。
  • 网络命名空间: 每个 Pod 的其他容器都会与 "pause" 容器共享同一个网络命名空间,使它们可以在同一网络中通信。
  • 存储卷: "pause" 容器为 Pod 提供了一个文件系统,使其他容器可以在其中创建文件,以实现在 Pod 内部的共享存储。
  • 资源消耗: "pause" 容器的资源消耗非常小,因为它没有实际运行的进程。

总的来说,"pause" 容器是 Kubernetes 中的一个关键概念,它为 Pod 提供了网络隔离和共享存储卷的功能。在大多数情况下,开发人员不需要直接操作 "pause" 容器,因为 Kubernetes 会在创建 Pod 时自动添加它。

init容器

Init 容器(Initialization Container)是在主应用程序容器启动之前运行的特殊类型的容器。它们用于执行初始化任务,为主应用程序容器提供必要的环境、配置或数据。Init 容器可以确保主应用程序容器在启动之前满足一些前置条件。

以下是一些关于 Init 容器的重要信息:

  1. 运行顺序: Init 容器首先会依次启动,直到它们全部完成或其中一个失败。然后,主应用程序容器才会启动。这有助于确保主应用程序容器在合适的环境下运行。
  2. 环境设置: Init 容器可以在主应用程序容器之前设置环境变量、配置文件或其他资源。这有助于准备主应用程序容器所需的运行环境。
  3. 数据准备: Init 容器可以从外部数据源(如持久卷、配置映射等)获取数据,并将其准备好供主应用程序容器使用。
  4. 依赖解决: 如果主应用程序容器需要等待某些外部服务或资源就绪,Init 容器可以负责等待这些资源准备就绪,然后才启动主应用程序容器。
  5. 单一进程: Init 容器通常只执行一个任务,以确保它们的运行时间较短,不会影响主应用程序容器的正常启动。
  6. 容器共享资源: Init 容器与主应用程序容器共享同一网络命名空间和存储卷,因此它们可以访问相同的资源。
相关推荐
吴声子夜歌8 小时前
Java——通用容器类
java·容器
叶~小兮8 小时前
K8S优先级、Pod驱逐、HPA扩缩容 学习笔记
笔记·学习·kubernetes
xingfujie8 小时前
第2章:服务器规划与基础环境配置
linux·运维·微服务·云原生·容器·kubernetes·负载均衡
Raink老师8 小时前
【AI面试临阵磨枪-56】大模型服务部署:Docker、K8s、GPU 调度、推理加速
人工智能·面试·kubernetes·ai 面试
ℳ₯㎕ddzོꦿ࿐8 小时前
实战指南:使用 Docker Compose 优雅部署 MongoDB 并自动初始化用户
mongodb·docker·容器
yyyyy_abc9 小时前
docker学习笔记
运维·docker·容器
一起逃去看海吧9 小时前
Dify-01-docker安装 和 dify部署
运维·docker·容器
叶~小兮9 小时前
K8S-Helm与灰度发布学习笔记
笔记·学习·kubernetes
月光技术杂谈9 小时前
深度解析:基于Docker跨架构构建RK3588嵌入式rootfs的原理、边界与最佳实践
docker·容器·rootfs·rk3588·openeuler·欧拉·文件系统构建
容器魔方9 小时前
Kthena 核心原语:ModelServing CRD 如何定义分布式推理“新标准”?
大数据·分布式·云原生·容器·云计算