Skip to content

Commit 82a5189

Browse files
author
priyawadhwa
authored
Merge pull request #9334 from afbjorklund/multiarch-storage-provisioner-manifest
Make storage-provisioner available for all arch
2 parents d7c5174 + 92cce72 commit 82a5189

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

Makefile

+18-7
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,8 @@ GVISOR_TAG ?= latest
9494
# storage provisioner tag to push changes to
9595
STORAGE_PROVISIONER_TAG ?= v3
9696

97-
# TODO: multi-arch manifest
98-
ifeq ($(GOARCH),amd64)
99-
STORAGE_PROVISIONER_IMAGE ?= $(REGISTRY)/storage-provisioner:$(STORAGE_PROVISIONER_TAG)
100-
else
97+
STORAGE_PROVISIONER_MANIFEST ?= $(REGISTRY)/storage-provisioner:$(STORAGE_PROVISIONER_TAG)
10198
STORAGE_PROVISIONER_IMAGE ?= $(REGISTRY)/storage-provisioner-$(GOARCH):$(STORAGE_PROVISIONER_TAG)
102-
endif
10399

104100
# Set the version information for the Kubernetes servers
105101
MINIKUBE_LDFLAGS := -X k8s.io/minikube/pkg/version.version=$(VERSION) -X k8s.io/minikube/pkg/version.isoVersion=$(ISO_VERSION) -X k8s.io/minikube/pkg/version.isoPath=$(ISO_BUCKET) -X k8s.io/minikube/pkg/version.gitCommitID=$(COMMIT) -X k8s.io/minikube/pkg/version.storageProvisionerVersion=$(STORAGE_PROVISIONER_TAG)
@@ -579,8 +575,11 @@ else
579575
endif
580576

581577
.PHONY: storage-provisioner-image
582-
storage-provisioner-image: out/storage-provisioner-$(GOARCH) ## Build storage-provisioner docker image
583-
docker build -t $(STORAGE_PROVISIONER_IMAGE) -f deploy/storage-provisioner/Dockerfile --build-arg arch=$(GOARCH) .
578+
storage-provisioner-image: storage-provisioner-image-$(GOARCH) ## Build storage-provisioner docker image
579+
docker tag $(REGISTRY)/storage-provisioner-$(GOARCH):$(STORAGE_PROVISIONER_TAG) $(REGISTRY)/storage-provisioner:$(STORAGE_PROVISIONER_TAG)
580+
581+
storage-provisioner-image-%: out/storage-provisioner-%
582+
docker build -t $(REGISTRY)/storage-provisioner-$*:$(STORAGE_PROVISIONER_TAG) -f deploy/storage-provisioner/Dockerfile --build-arg arch=$* .
584583

585584
.PHONY: kic-base-image
586585
kic-base-image: ## builds the base image used for kic.
@@ -601,6 +600,18 @@ push-storage-provisioner-image: storage-provisioner-image ## Push storage-provis
601600
docker login gcr.io/k8s-minikube
602601
$(MAKE) push-docker IMAGE=$(STORAGE_PROVISIONER_IMAGE)
603602

603+
ALL_ARCH = amd64 arm arm64 ppc64le s390x
604+
IMAGE = $(REGISTRY)/storage-provisioner
605+
TAG = $(STORAGE_PROVISIONER_TAG)
606+
607+
.PHONY: push-storage-provisioner-manifest
608+
push-storage-provisioner-manifest: $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~storage\-provisioner\-image\-&~g")
609+
docker login gcr.io/k8s-minikube
610+
set -x; for arch in $(ALL_ARCH); do docker push ${IMAGE}-$${arch}:${TAG}; done
611+
docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(IMAGE)\-&:$(TAG)~g")
612+
set -x; for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${IMAGE}:${TAG} ${IMAGE}-$${arch}:${TAG}; done
613+
docker manifest push $(STORAGE_PROVISIONER_MANIFEST)
614+
604615
.PHONY: push-docker
605616
push-docker: # Push docker image base on to IMAGE variable
606617
@docker pull $(IMAGE) && echo "Image already exist in registry" && exit 1 || echo "Image doesn't exist in registry"

deploy/addons/storage-provisioner/storage-provisioner.yaml.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ spec:
101101
hostNetwork: true
102102
containers:
103103
- name: storage-provisioner
104-
image: {{default "gcr.io/k8s-minikube" .ImageRepository}}/storage-provisioner{{.ExoticArch}}:{{.StorageProvisionerVersion}}
104+
image: {{default "gcr.io/k8s-minikube" .ImageRepository}}/storage-provisioner:{{.StorageProvisionerVersion}}
105105
command: ["/storage-provisioner"]
106106
imagePullPolicy: IfNotPresent
107107
volumeMounts:

hack/jenkins/release_build_and_upload.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ if ! [[ ${VERSION_BUILD} =~ ^[0-9]+$ ]]; then
6767
fi
6868

6969
#echo "Updating Docker images ..."
70-
#make push-gvisor-addon-image push-storage-provisioner-image
70+
#make push-gvisor-addon-image push-storage-provisioner-manifest
7171

7272
echo "Updating latest bucket for ${VERSION} release ..."
7373
gsutil cp -r "gs://${BUCKET}/releases/${TAGNAME}/*" "gs://${BUCKET}/releases/latest/"

0 commit comments

Comments
 (0)