Allow the VM to be a router
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- docker, kubernetes, macos
- Ambito
- networking
Direzione di ricerca
Inizia riproducendo i passaggi Minikube Hyperkit elencati su macOS, aggiungi la route per il CIDR del pod e testa con curl. Confronta il risultato con il driver VirtualBox e ispeziona il traffico sull’interfaccia bridge0 con tcpdump. Il lavoro è completato quando il traffico verso gli indirizzi IP dei container o dei pod viene instradato correttamente attraverso la VM.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
First of all, it worth mentioning that I'm not a networking expert by any means and not even sure that this is right repo to file this issue, but I've made quite some tests with all that.
The problem is that seems like Hyperkit VM is not able to work as a router, when routing of the host os is configured to do so.
Use Case
Briefly, the use case is to be able to access containers running inside the Hyperkit virtual machine by IP and name from the host machine (Mac OS). It doesn't matter whether these are docker container or Kubernetes pods.
The use case for that is described in these issues in more details:
https://github.com/moby/hyperkit/issues/55
https://github.com/docker/for-mac/issues/155
I'm not sure why it's working for VirtualBox and not for Hyperkit.
Problem
Basically I was spinning up virtual machines based on boot2docker.iso using the same ISO I can't route traffic through the VM with Hyperkit, but a do can with VirtualBox.
Example using https://github.com/kubernetes/minikube on MacOS High Sierra:
minikube start --vm-driver hyperkit.kubectl run nginx --image nginx:alpine.kubectl get pods -o wide(note the IP of the pod and find out it's CIDR, let's say it's 172.18.0.0/16).sudo route -n add 172.18.0.0/16 $(minikube ip).- Use
curlto access the IP of the nginx pod. In my case it hangs until timeout.
Doing the same but with VirtualBox driver works totally fine.
It seems like there is something inside Hyperkit (or maybe underlying MacOS hypervisor that does not let packets going through).
Although doing tcpdump on the Minikube interface (normally named bridge0) show that packets are routed correctly.
- Lingua principale
- C
- Stelle
- 3.7k
- Fork
- 336
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di moby/hyperkit
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
-
Invalid instructions? Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
Tutte le issue di moby/hyperkit
Issue simili
-
level/task module/gcp type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
hapostgres/pg_auto_failover#1190 ·
-
docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
P3 sonic-vpp
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sonic-net/sonic-buildimage#29662 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 94/100
spack/spack-packages#6586 ·