initContainer多场景应用

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

运维派是国内最早的IT运维技术社区,提供免费Linux云计算、Python、Docker、K8s教程。初始化容器是在pod的主容器启动之前要运行的容器,主要是做一些主容器的前置工作。

🎯

关键要点

  • 运维派是国内最早的IT运维技术社区,提供免费Linux云计算、Python、Docker、K8s教程。
  • 初始化容器在主容器启动之前运行,主要用于前置工作。
  • 初始化容器必须完成运行,失败时Kubernetes会重启直到成功。
  • 初始化容器按顺序执行,前一个成功后才能运行后一个,若失败且restartPolicy为Never则不重启。
  • 初始化容器的应用场景包括提供主容器缺失的工具和延后应用容器启动。
  • 示例:使用initContainer下载最新的index主页到主容器。
  • 初始化容器与PostStart的区别在于InitContainer不依赖主应用环境,且在主应用启动前完成。
  • 示例:InitContainer等待B应用启动后再启动主容器。
  • 创建服务前,initContainer处于等待状态,服务创建后才启动主容器。
➡️

继续阅读