Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'multi-arch' windows-gmsa-webhook container image to support arm64. #107

Closed
chengliangli0918 opened this issue May 9, 2023 · 6 comments · Fixed by #109
Closed

'multi-arch' windows-gmsa-webhook container image to support arm64. #107

chengliangli0918 opened this issue May 9, 2023 · 6 comments · Fixed by #109

Comments

@chengliangli0918
Copy link

chengliangli0918 commented May 9, 2023

Currently windows-gmsa-webhook container image in upstream only supports amd64. AKS supports ARM64 Ubuntu/Mariner nodes. So when customer creates an AKS cluster with windows-gmsa enabled (e.g. az aks create --enable-windows-gmsa --node-vm-size <arm64_SKU>...), the windows-gmsa-webhook pod cannot start on arm64 Linux nodes. We need 'multi-arch' windows-gmsa-webhook container image so that windows-gmsa feature can work properly on AKS arm64 cluster, just like any other addon container images used on AKS linux nodes.

Use coredns 'multi-arch' container images as an example blow.

image

@jsturtevant
Copy link
Contributor

This might just work if we update the GOARCH variable to be configurable in the dockerfile, pass that through the makefile, and create a manfest in the makefile when pushing.

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s -X main.version=${VERSION}"

image_build:
$(DOCKER_BUILD) -f dockerfiles/Dockerfile -t $(WEBHOOK_IMG):$(TAG)
docker tag $(WEBHOOK_IMG):$(TAG) $(WEBHOOK_IMG):latest
.PHONY: image_push
image_push:
docker push $(WEBHOOK_IMG):$(TAG)
docker push $(WEBHOOK_IMG):latest

We might want a CI job eventually, but I don't think github actions supports ARM64 right now.

@chengliangli0918
Copy link
Author

chengliangli0918 commented May 10, 2023

azure-cni seems to use github action to build, they started to build 'multi-arch' container images 20 months ago since this PR
Azure/azure-container-networking#1030

@marosset
Copy link
Contributor

This might just work if we update the GOARCH variable to be configurable in the dockerfile, pass that through the makefile, and create a manfest in the makefile when pushing.

I tested this by setting GOARCH=arm64 and it looks like everything build correctly.

I can work on building / publishing a multi-arch image with linux/amd64 and linux/arm64 arches but I probably won't be able to do it until next week (week of May 15)

@jsturtevant
Copy link
Contributor

azure-cni seems to use github action to build, they started to build 'multi-arch' container images 20 months ago since this PR

building on github actions should work, but we won't be able to run CI tests against it.

@chengliangli0918
Copy link
Author

@marosset any update on 'multi-arch' windows-gmsa-webhook' container image?

@marosset
Copy link
Contributor

Working on it now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants