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

minikube + ssh + nat gate in front of the remote host #12371

Open
jserviceorg opened this issue Aug 29, 2021 · 4 comments
Open

minikube + ssh + nat gate in front of the remote host #12371

jserviceorg opened this issue Aug 29, 2021 · 4 comments
Labels
co/generic-driver kind/documentation Categorizes issue or PR as related to documentation. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@jserviceorg
Copy link

Hello

I am trying to geht minikube together with the ssh driver and a remote host behind a nat gateway up and running. I faced some issues with kublet using the wrong Ip which I could fix hacky. But I still got the impression that the combination nat gate + ssh driver won't work. Is there anyone out there who got experience with this or is even running such a setup successfully?

Cheers

Jürgen

@jserviceorg jserviceorg changed the title minikube + ssh + nat on remote host minikube + ssh + nat gate in front of the remote host Aug 29, 2021
@afbjorklund
Copy link
Collaborator

afbjorklund commented Aug 30, 2021

We have mostly tried with a generic VM running locally (using something like Vagrant), or with a VM running in some private cloud.

When running in a more public cloud, there are usually one external and one internal address (that can be used for the api server)

Example: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

So SSH (only) uses the external address, and everything else is tunneled through it. This is similar to how the eth0/eth1 works.

There needs to be some better documentation for this, and I think e.g. minikube tunnel has not been updated for ssh ?

      --apiserver-ips=[]: A set of apiserver IP Addresses which are used in the generated certificate for kubernetes.  This can be used if you want to make the apiserver available from outside the machine
      --apiserver-name='minikubeCA': The authoritative apiserver hostname for apiserver certificates and connectivity. This can be used if you want to make the apiserver available from outside the machine
      --apiserver-names=[]: A set of apiserver names which are used in the generated certificate for kubernetes.  This can be used if you want to make the apiserver available from outside the machine
      --ssh-ip-address='': IP address (ssh driver only)

Opening up the minikube port (8443) probably needs some securitty consideration, and still need an ingress for apps...

Currently there are only some unsupported hacks for docker/podman, but nothing that would be usable for running a VM.

      --listen-address='': IP Address to use to expose ports (docker and podman driver only)
      --ports=[]: List of ports that should be exposed (docker and podman driver only)

The container opens these:

  • 8443
  • 22
  • 2376 (legacy docker)
  • 5000 (registry addon)
  • 32443 (auto-pause)

@afbjorklund afbjorklund added co/generic-driver kind/documentation Categorizes issue or PR as related to documentation. labels Aug 30, 2021
@afbjorklund
Copy link
Collaborator

afbjorklund commented Aug 30, 2021

Some network diagrams of the various minikube drivers would also help here: #4938 (comment)

Especially for these scenarios with restricted network access, like Docker Desktop or public cloud.

@afbjorklund afbjorklund added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Aug 30, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 28, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 28, 2021
@spowelljr spowelljr added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Jan 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
co/generic-driver kind/documentation Categorizes issue or PR as related to documentation. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

5 participants