引用三个问题来叙述Kubernetes的pod容器
1.为什么不直接在一个Docker容器中运行所有的应用进程。
2.为什么pod这种容器中要同时运行多个Docker容器(可以只有一个)
3.为什么k8s使用pod这种容器而不直接使用Docker容器
一个由多个进程进行组成的应用程序,无论是通过ipc(进程间通信)还是本地存储文件进行通信,都要求它们运行于同一台机器上。Docker容器非常像一台独立的机器,此时你可能认为在单个容器中运行多个进程是合乎逻辑的,然而在实践中这种做法并不合理。
容器被设计为每个容器只运行一个进程(除非进程本身产生子进程)。如果在单个容器中运行多个不相关的进程,那么保持所有进程运行、管理它们的日志等将会是我们的责任。例如,我们需要包含一种在进程奔溃时能够自动重启的机制。同时这些进程都将记录到相同的标准输出中,而此时我们将很难确定每个进程分别记录了什么
综上所述,我们需要让每个进程运行于自己的容器中,而这就是Docker和Kubernetes期望使用的方式。
原文地址:https://www.cnblogs.com/fanqisoft/p/11394748.html
时间: 2024-11-08 18:45:36