-
Notifications
You must be signed in to change notification settings - Fork 0
[minikube]:windows node setup #4
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
base: feature/windows-node-support
Are you sure you want to change the base?
[minikube]:windows node setup #4
Conversation
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.
Copilot reviewed 5 out of 10 changed files in this pull request and generated 6 comments.
Files not reviewed (5)
- pkg/minikube/bootstrapper/bootstrapper.go: Evaluated as low risk
- pkg/minikube/config/types.go: Evaluated as low risk
- pkg/minikube/constants/constants.go: Evaluated as low risk
- pkg/minikube/bootstrapper/certs.go: Evaluated as low risk
- pkg/minikube/machine/client.go: Evaluated as low risk
Comments suppressed due to low confidence (4)
pkg/minikube/node/powershell.go:21
- The variable 'powershell' should be checked to ensure it is not empty after 'exec.LookPath'. If 'powershell' is not found, an error should be returned.
powershell, _ = exec.LookPath("powershell.exe")
pkg/minikube/node/powershell.go:35
- [nitpick] The function 'cmdOut' should return stderr in case of an error to make debugging easier.
return stdout.String(), err
pkg/minikube/node/start.go:1073
- [nitpick] The error message could be more descriptive. Consider providing more context about the command that failed.
klog.Infof("couldn't run %q command. error: %v", rr.Command(), err)
pkg/minikube/node/start.go:389
- The new behavior for Windows nodes should be covered by tests to ensure it works as expected.
joinCmd, err = cpBs.GenerateTokenWindows(*starter.Cfg)
|
@bobsira Tested this locally and it works fine. nit: Checked the |
|
@bobsira Thankyou for the PR, I tested it on windows machine , It looks good to me, im able to spawn 2 different minikube nodes one with buildroot and other with windows server 2025. |
TinaMor
left a comment
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.
LGTM
ShemManyu
left a comment
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.
LGTM
|
Any updates on this? |
Hello @mloskot — we are targeting inclusion of this functionality in the next Minikube release. For context, the Minikube maintainers are currently consolidating the minikube-machine repository into the main minikube repository. As a result, the changes implemented in this PR will need to be migrated into the Minikube repo once that consolidation is complete. The expectation is that this consolidation will be finalized ahead of the next release, allowing the work to be carried over without blocking the release timeline. |
|
@bobsira Thank you very much for the update and for the hard work you've done her! |
To test this PR follow the steps below
Prerequisites (local machine)
1) Prepare local modules (temporary local replace)
Open
go.modin your localminikuberepo and temporarily replace thegithub.com/docker/machinemodule with your localminikube-machinepath.Before (example upstream replacement)
github.com/docker/machine => github.com/minikube-machine/machine v0.0.0-20240815173309-ffb6b643c381Temporary local replace( use a Windows absolute path)
Important: This replace is only for local testing. Remove or revert it before committing/pushing.
2) Build minikube
From the minikube repo root build with make (repo uses make target)
You should now have minikube.exe in the repo out directory
3) Start a hybrid cluster (elevated PowerShell)
Start using the default (built-in) VHD
.\minikube.exe start --kubernetes-version=v1.32.3 -n 2 --node-os='[linux,windows]'Start using a custom VHD (remote or local)
--windows-vhd-url accepts remote URLs or local absolute paths:Remote
.\minikube.exe start --kubernetes-version=v1.32.3 -n 2 --node-os='[linux,windows]' --windows-vhd-url='https://<your-storage>/hybrid-minikube-windows-server.vhdx'Local path
.\minikube.exe start --kubernetes-version=v1.32.3 -n 2 --node-os='[linux,windows]' --windows-vhd-url='C:\vhd\hybrid-minikube-windows-server.vhdx'4) What to expect
kubectl get nodes -o wideshould show two nodes with OS labels: one linux, one windows.Setting up the cluster

Verify your cluster
