From ea1bc18bc17af9356157c66ee704db837fa39d23 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Wed, 4 Aug 2021 10:21:19 +0200 Subject: [PATCH] Use docker buildx for etcd image This allows to choose the correct architecture in the image manifest, which defaulted to the host system before applying this patch. Signed-off-by: Sascha Grunert --- cluster/images/etcd/Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cluster/images/etcd/Makefile b/cluster/images/etcd/Makefile index e1c40467f37..384f5071ef6 100644 --- a/cluster/images/etcd/Makefile +++ b/cluster/images/etcd/Makefile @@ -34,7 +34,7 @@ LATEST_ETCD_VERSION?=3.5.0 # REVISION provides a version number for this image and all it's bundled # artifacts. It should start at zero for each LATEST_ETCD_VERSION and increment # for each revision of this image at that etcd version. -REVISION?=0 +REVISION?=1 # IMAGE_TAG Uniquely identifies k8s.gcr.io/etcd docker image with a tag of the form "-". IMAGE_TAG=$(LATEST_ETCD_VERSION)-$(REVISION) @@ -84,6 +84,8 @@ endif RUNNERIMAGE?=gcr.io/distroless/static:latest +QEMUVERSION?=5.2.0-2 + build: # Explicitly copy files to the temp directory $(BIN_INSTALL) migrate-if-needed.sh $(TEMP_DIR) @@ -143,13 +145,20 @@ else cd $(TEMP_DIR) && echo "ENV ETCD_UNSUPPORTED_ARCH=$(ARCH)" >> Dockerfile endif + docker run --rm --privileged multiarch/qemu-user-static:$(QEMUVERSION) --reset -p yes + docker buildx version + BUILDER=$(shell docker buildx create --use) + # And build the image - docker build \ + docker buildx build \ --pull \ + --load \ + --platform linux/$(ARCH) \ -t $(REGISTRY)/etcd-$(ARCH):$(IMAGE_TAG) \ --build-arg BASEIMAGE=$(BASEIMAGE) \ --build-arg RUNNERIMAGE=$(RUNNERIMAGE) \ $(TEMP_DIR) + docker buildx rm $$BUILDER push: build docker tag $(REGISTRY)/etcd-$(ARCH):$(IMAGE_TAG) $(MANIFEST_IMAGE)-$(ARCH):$(IMAGE_TAG)