使用多容器 Pod 扩展应用程序
1. 使用初始化容器设置应用程序
在之前的实践中,我们运行过包含多个容器的 Pod,这些容器并行运行,即同时启动,并且只有当所有容器都准备好时,Pod 才被视为就绪,这就是所谓的边车模式。在边车模式中,额外的容器(边车)对应用程序容器(主容器)起到支持作用。
而 Kubernetes 还支持另一种模式——初始化容器(Init Container)。当需要一个容器在应用程序容器之前运行以设置部分环境时,就可以使用初始化容器。
初始化容器与边车容器的工作方式不同。一个 Pod 中可以定义多个初始化容器,它们会按照在 Pod 规范中编写的顺序依次运行。每个初始化容器必须成功完成后,下一个才会启动,并且所有初始化容器都必须成功完成后,Pod 中的应用程序容器才会启动。以下是初始化容器启动顺序的流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Init Container 1):::process --> B(Init Container 2):::process
B --> C(Init Container 3):::process
C --> D(App Container):::process
D --> E(Sidecar Container):::process
所有容器都可以访问 Pod 中定义的卷,因此初始化容器的主要用例是写入数据,为应用程序容器准备环
超级会员免费看
订阅专栏 解锁全文
2903

被折叠的 条评论
为什么被折叠?



