-
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
Added hyperkit options for enterprise VPN support #2850
Conversation
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Can one of the admins verify this patch? |
/assign @luxas |
@seborama We are extracting the driver part and putting it to https://github.com/machine-drivers/docker-machine-driver-hyperkit location, can you please send PR to that also, start flags should be part of the minikube side. |
The purpose of these changes is to enhance Hyperkit support from the minikube command line for better integration with enterprise networks behind a VPN. uuid: Provide VM UUID to restore MAC address (only supported with Hyperkit driver). vpnkitSock: Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock." vsockPorts: List of guest VSock ports that should be exposed as sockets on the host (Only supported on with hyperkit now). Note: tests pass but file: `vendor/github.com/google/certificate-transparency/go/x509/root_darwin.go` has to be edited to correct an issue - not committed since this is in the vendor directory.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: seborama Assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @praveenkumar , I have submitted a PR over at docker-machine-driver-hyperkit. It would be nice if Minikube was updated to remove the embedded Hyperkit code and reference the new docker-machine-driver-hyperkit repo. It would reduce the risk of code divergence. Best regards, |
Thanks for sending this! I'll take a closer look at the PR in the other repo soon. |
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.
Thanks for this! We should probably merge it in both locations until we get this copy removed.
Hi, With regards to testing, below are examples of ~/.minikube/machines/minikube/hyperkit.json with different EXAMPLE 1
~/.minikube/machines/minikube/hyperkit.json: EXAMPLE 2
~/.minikube/machines/minikube/hyperkit.json: |
@praveenkumar That sounds good. I think it's mostly a documentation change initially. Do you have the cycles to get started on it? I can help out on the CI changes. |
@praveenkumar any concerns about merging this change in both places to keep things in sync until we consolidate? |
@minikube-bot OK to test |
I will try to replace that hyperkit part and use the machine-driver/hyperkit in the coming week (let's see how it goes). If we have CI in place on machine-driver/hyperkit side that would be great so the driver changes can be tested. |
Please go ahead to merge it as of now for both places. |
Sorry, I have found one problem with the parsing of ports. They're defined as |
OK, it seems the problem may have been caused by me. I have 3 versions of the driver and 2 of minikube owing to the forked repos and one from homebrew. |
The purpose of these changes is to enhance Hyperkit support from the
minikube command line for better integration with enterprise networks
behind a VPN.
uuid: Provide VM UUID to restore MAC address (only supported with
Hyperkit driver).
vpnkitSock: Location of the VPNKit socket used for networking. If empty,
disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac
VPNKit connection, otherwise uses the specified VSock."
vsockPorts: List of guest VSock ports that should be exposed as sockets
on the host (Only supported on with hyperkit now).
Note:
tests pass but file:
vendor/github.com/google/certificate-transparency/go/x509/root_darwin.go
has to be edited to correct an issue - not committed since this is in
the vendor directory.