-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Building minikube for ppc64le #2171
Conversation
Can one of the admins verify this patch? |
As cool as this would be, I don't think it will work. While minikube might be able to be built this way, it needs to call a cluster bootstrapper (either kubeadm or localkube), both of which are only built for amd64. |
Codecov Report
@@ Coverage Diff @@
## master #2171 +/- ##
======================================
Coverage 28.6% 28.6%
======================================
Files 82 82
Lines 5369 5369
======================================
Hits 1536 1536
Misses 3637 3637
Partials 196 196 Continue to review full report at Codecov.
|
@r2d4 Kubeadm we have already working for ppc64le, it is built for ppc64le as well (available to download through k8s repos), I have also been able to build localkube locally, will send out PR for that soon. But for now, we can use this PR to build minikube and use it with kubeadm. |
Makefile
Outdated
ifeq ($(MINIKUBE_BUILD_IN_DOCKER),y) | ||
$(call DOCKER,$(BUILD_IMAGE),/usr/bin/make $@) | ||
else | ||
GOOS=$* go build -tags "$(MINIKUBE_BUILD_TAGS)" -ldflags="$(MINIKUBE_LDFLAGS) $(K8S_VERSION_LDFLAGS)" -a -o $@ k8s.io/minikube/cmd/minikube |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as we aren't passing like out/minikube-%-ppc64le
and even GOARCH needs to be mentioned as ppc64le
, so this line should be changed as below to work:
GOOS=linux GOARCH=ppc64le go build -tags "$(MINIKUBE_BUILD_TAGS)" -ldflags="$(MINIKUBE_LDFLAGS) $(K8S_VERSION_LDFLAGS)" -a -o $@ k8s.io/minikube/cmd/minikube
This also needs to contain the changes to pull the appropriate architecture of localkube or kubeadm. Right now, it pulls the amd64 binaries by default. |
@mkumatag Made the changes. |
I also have a few concerns here - unless we get continuous build/testing infrastructure setup for this we have no way to support it going forward. |
@dlorenc What would it require to have a continuous build/testing infrastructure setup? In what way I can help to get things in place? |
Can you explain the use case a little more so I can understand? What type of machine are you hoping to run minikube on? What hypervisor are you hoping to run k8s in? |
@dlorenc Minikube is emerging as one of the most convenient ways to rapidly test Kubernetes. We want to import that functionality to ppc64le platform. We have been working heavily to help make Kubernetes multi-arch, having sent multiple PRs, running our own CI etc. Making minikube multi-arch is one more step to support the whole environment on different archs. Primarily the aim is to run minikube on ppc64le based machines. We are running the setup in virtual machines, so not looking to support any hypervisor as of now. The only support would be for none driver i.e. based on docker. We are ready to support the multi-arch environment in any way possible. Please let me know if you need any other information. |
@dlorenc Can you please let me know as in what way I can help to provide continuous/build test infrastructure? |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Pensu Assign the PR to them by writing The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
Hey @Pensu, We would need some way of verifying the builds work. This most likely means some form of CI slave that can run minikube. Nested virtualization is tough to come by, so for most of our CI jobs we have to run them on physical machines. These need to be able to connect to our Jenkins instance, and need basic maintenance. |
I'm going to close this and the related PR for now. Feel free to re-open with a more detailed proposal on how to run integration tests on these platforms in CI. Until then, we can't make any promises on keeping minikube actually working on these platforms, so it would be irresponsible to add any kind of official support. |
This PR adds minikube build for ppc64le.