【发布时间】:2018-09-06 16:04:44
【问题描述】:
我有两个 Kubernetes 部署,分别是后端和前端。前端部署取决于后端部署。意味着在后端部署 pod 准备好之后,应该创建前端的 pod。如何在部署 yaml 中指定这个?
【问题讨论】:
-
更好的解决方案是让前端能够处理缺少的后端。如果后端在运行过程中掉线了,前端怎么办?你必须能够处理它,并且在前端之后启动的后端是相同的情况。
标签: kubernetes
我有两个 Kubernetes 部署,分别是后端和前端。前端部署取决于后端部署。意味着在后端部署 pod 准备好之后,应该创建前端的 pod。如何在部署 yaml 中指定这个?
【问题讨论】:
标签: kubernetes
您正在寻找的解决方案是初始化容器。 Pod 可以有一个或多个 Init 容器,它们在主 Pod 容器启动之前一个接一个地运行。请注意,每个 Init 容器都会运行直到完成。
因此,您可以使用 Init 容器来检查后端应用程序的可用性。这是一个例子:
apiVersion: v1
kind: Pod
metadata:
name: front-end
labels:
app: front-end
spec:
containers:
- name: front-end
image: node:boron
initContainers:
- name: init-backend
image: busybox
command: ['sh', '-c', 'until <put check condition for your back-end>; do echo waiting for back-end; sleep 2; done;']
更多信息您可以通过documentation。
【讨论】: