为什么Kubernetes要引入" pod "的概念?对我来说,pod的行为就像容器(例如Docker)。仅仅是因为复制吗?那么,在Kubernetes中部署呢?部署也可以声明副本。
pod可以有多个容器共享相同的整体上下文。这使得它们像一个逻辑主机。
这是非常有用的,并且可以安全地启用服务网格,其中每个pod都有一个额外的代理容器,可以提供透明的TLS,审计和监控,添加测试服务的方法等。它还有助于从主应用程序中卸载日志记录,并用于许多其他情况。
许多用例也从init容器中受益匪浅,它可以使用一个单独的、短寿命的容器来准备pod。这有助于保持你的主容器干净、精简和有目的的构建。
让k8s在同一个pod内共同调度这些相关的容器对于管理和资源使用的目的是有意义的(例如,一起创建,在故障时一起清理,所有容器都可以共享一个IP并与本地主机相互引用,等等)。