kubernetes 中的 sidecar 与 init 容器
sidecar vs init container in kubernetes
我无法区分 sidecar 和 init 容器。到目前为止,我了解到真正的应用程序容器等待 init 容器做一些事情。但是,sidecar 可以做同样的事情,不是吗?反之亦然,初始容器不会消亡,因此 运行 “在旁边”。因此,我的困惑。
感谢您的帮助。
Init-container 用于初始化 Pod 中的某些内容。初始化容器将 运行 并退出。在每个以代码 0 退出的初始容器之后,您的主容器将启动。
初始化容器的例子是:
- 将一些文件移动到您的应用程序容器中,例如主题或配置。 Kubernetes docs.
中也描述了此示例
Kubernetes 本身对 sidecar 一无所知。 Sidecar-Containers 是一种解决某些用例的模式。通常,Kubernetes 会区分 Init-Containers 和容器 运行ning inside your Pod.
通常,我们将不提供以用户为中心的服务的所有容器都称为 Sidecars。例如,这可能是一个代理或更容易访问数据库的东西。如果您运行正在使用 Java-App,您可以使用 sidecar 以 Prometheus 格式导出 JVM 指标。
这里的区别在于,您的边车容器必须始终 运行。如果您的非初始化容器之一退出,kubernetes 将重启整个 pod。
这就是区别。
- 初始化容器运行并在主应用程序启动前退出
- Sidecars 运行 与您的主容器并排并为它们提供某种服务。
我无法区分 sidecar 和 init 容器。到目前为止,我了解到真正的应用程序容器等待 init 容器做一些事情。但是,sidecar 可以做同样的事情,不是吗?反之亦然,初始容器不会消亡,因此 运行 “在旁边”。因此,我的困惑。
感谢您的帮助。
Init-container 用于初始化 Pod 中的某些内容。初始化容器将 运行 并退出。在每个以代码 0 退出的初始容器之后,您的主容器将启动。
初始化容器的例子是:
- 将一些文件移动到您的应用程序容器中,例如主题或配置。 Kubernetes docs. 中也描述了此示例
Kubernetes 本身对 sidecar 一无所知。 Sidecar-Containers 是一种解决某些用例的模式。通常,Kubernetes 会区分 Init-Containers 和容器 运行ning inside your Pod.
通常,我们将不提供以用户为中心的服务的所有容器都称为 Sidecars。例如,这可能是一个代理或更容易访问数据库的东西。如果您运行正在使用 Java-App,您可以使用 sidecar 以 Prometheus 格式导出 JVM 指标。
这里的区别在于,您的边车容器必须始终 运行。如果您的非初始化容器之一退出,kubernetes 将重启整个 pod。
这就是区别。
- 初始化容器运行并在主应用程序启动前退出
- Sidecars 运行 与您的主容器并排并为它们提供某种服务。