diff --git a/core/src/plugins/kubernetes/container/build/buildkit.ts b/core/src/plugins/kubernetes/container/build/buildkit.ts index daf2080c81..bbca8ad435 100644 --- a/core/src/plugins/kubernetes/container/build/buildkit.ts +++ b/core/src/plugins/kubernetes/container/build/buildkit.ts @@ -385,6 +385,11 @@ export function getBuildkitDeployment( app: buildkitDeploymentName, }, }, + strategy: { + // Note: When updating the deployment, we make sure to kill off old buildkit pods before new pods are started. + // This is important because with multiple running Pods we might end up syncing or building to the wrong Pod. + type: "Recreate", + }, template: { metadata: { labels: { diff --git a/core/src/plugins/kubernetes/container/build/common.ts b/core/src/plugins/kubernetes/container/build/common.ts index 6179e1fd3c..3e0a507d3d 100644 --- a/core/src/plugins/kubernetes/container/build/common.ts +++ b/core/src/plugins/kubernetes/container/build/common.ts @@ -479,6 +479,11 @@ export function getUtilManifests( app: utilDeploymentName, }, }, + strategy: { + // Note: When updating the deployment, we make sure to kill off old buildkit pods before new pods are started. + // This is important because with multiple running Pods we might end up syncing or building to the wrong Pod. + type: "Recreate", + }, template: { metadata: { labels: { diff --git a/core/test/unit/src/plugins/kubernetes/container/build/buildkit.ts b/core/test/unit/src/plugins/kubernetes/container/build/buildkit.ts index 016abc2cb0..b72490303b 100644 --- a/core/test/unit/src/plugins/kubernetes/container/build/buildkit.ts +++ b/core/test/unit/src/plugins/kubernetes/container/build/buildkit.ts @@ -73,6 +73,10 @@ describe("buildkit build", () => { }, }) + expect(result.spec.strategy).eql({ + type: "Recreate", + }) + expect(result.spec.template.spec?.containers.length === 2) expect(result.spec.template.spec?.containers[0]).eql({ diff --git a/core/test/unit/src/plugins/kubernetes/container/build/common.ts b/core/test/unit/src/plugins/kubernetes/container/build/common.ts index c0e3e6a5a1..36a9a8911f 100644 --- a/core/test/unit/src/plugins/kubernetes/container/build/common.ts +++ b/core/test/unit/src/plugins/kubernetes/container/build/common.ts @@ -68,6 +68,9 @@ describe("common build", () => { spec: { replicas: 1, selector: { matchLabels: { app: "garden-util" } }, + strategy: { + type: "Recreate", + }, template: { metadata: { labels: { app: "garden-util" }, annotations: undefined }, spec: {