зеркало из https://github.com/mozilla/bedrock.git
Add an ADR for using a single docker image for all deployments (#9123)
Re https://github.com/mozmeao/infra/issues/1306 [ci skip]
This commit is contained in:
Родитель
2397c2fcb3
Коммит
f4d6ac029c
|
@ -0,0 +1,30 @@
|
|||
# 5. Use a Single Docker Image For All Deployments
|
||||
|
||||
Date: 2020-07-07
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
|
||||
We currently build an individual docker image for each deployment (dev, stage, and prod) that contains the
|
||||
proper data for that environment. It would save time and testing if we only built a single image that could
|
||||
be promoted to each environment and loaded with the proper data at startup.
|
||||
|
||||
## Decision
|
||||
|
||||
We will use a Kubernetes DaemonSet to ensure that a data updater pod is running on each node in a cluster. This
|
||||
pod will keep the database and l10n files updated in a volume that will be used by the other bedrock pods to
|
||||
access the data.
|
||||
|
||||
[GitHub issue](https://github.com/mozmeao/infra/issues/1306)
|
||||
|
||||
## Consequences
|
||||
|
||||
This change means that bedrock will be more simple to run because each pod will no longer need to be responsible for
|
||||
keeping its data updated, and so it will run only the bedrock web process and not also the updater daemon. It also
|
||||
means that there is a risk of a bedrock pod being run on a node that hasn't had the updater pod run yet, so there
|
||||
would be no available data. We will handle this by ensuring that bedrock won't start when the data isn't available,
|
||||
and so k8s will not send traffic to those pods until they're successfully up and responding, and will keep trying
|
||||
to start pods on the node untill they succeed.
|
Загрузка…
Ссылка в новой задаче