这里描述使用 Kubernetes 来开发分布式应用可能会用到的模式,并非其内部实现模式。

Sidecar

最常用模式,指在一个 Pod 中同时运行两个容器,容器共享网络和文件系统。这个也是 Pod 对容器本身的一种扩展和抽象。 咋一看:这个很稀松平常,就和我们本地计算机运行同时运行多个程序并无二致。 考虑到容器是一种程序的封装,这种 sidecard 模式就是封装的一种退化,也是容器之间最简单的交互方式。 如果 Kubernetes 更多的是强调模块的隔离和解耦,这个 sidecar 其实就是内聚的折中。