Soms heb je van die problemen waar je een dag mee bezig kunt zijn, en dan ineens heb je het opgelost. Heerlijk. Dat gevoel is waar we het voor doen, niet waar? Maar… je weet dat je volgende week hetzelfde probleem zult hebben en je dan waarschijnlijk bent vergeten hoe je het opgelost hebt.
Dit is zo’n geval. Dus: om de toekomstige Dennis (en anderen!) te helpen schrijf ik hier maar even op wat ik gedaan heb. Grote kans dus dat in de toekomst mijn probleem ga Googlen en dan hier terecht kom.
Het probleem
MiniKube is een kant en klare Virtual Machine met daarin Kubernetes en Docker volledig geïnstalleerd. Ideaal voor development: je kunt heel eenvoudig een development omgeving opzetten met daarin je Kubernetes cluster. Mits het werkt.
Ik ben een dag bezig geweest met het aan de praat te krijgen van mijn MiniKube installatie op Windows 10.
Ik had alles goed staan: ik draai Windows 10 Pro met HyperV geinstalleerd, ik had Powershell als Administrator open staan en ik had alles goed geconfigureerd. Maar wat ik ook deed: de vm wilde niet opstarten.
Ik kreeg een vage foutmelding: “Cannot start VM minikube”. Ja, dat zag ik zelf ook wel. In de HyperV manager zag ik minikube wel verschijnen maar hij verdween ook weer na een minuut of 2.
De debug output (je kent de optie wel: minikube start alsologtostderr) hielp me op weg:
I0227 08:11:40.964496 32928 main.go:110] libmachine: [stderr =====>] :
I0227 08:11:40.965503 32928 main.go:110] libmachine: [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (( Hyper-V\Get-VM minikube ).networkadapters[0]).ipaddresses[0]
I0227 08:11:42.041792 32928 main.go:110] libmachine: [stdout =====>] :
I0227 08:11:42.041792 32928 main.go:110] libmachine: [stderr =====>] :
I0227 08:11:43.044237 32928 main.go:110] libmachine: [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Hyper-V\Get-VM minikube ).state
I0227 08:11:43.797232 32928 main.go:110] libmachine: [stdout =====>] : Running
En dit zag ik tientallen keren. Als ik in Powershell het volgende commando uitvoerde, gebeurde er iets raars:
(( Hyper-V\Get-VM minikube ).networkadapters[0]).ipaddresses[0]
De output was leeg. Dus ik had geen ip adres voor mijn machine.
Na lang zoeken vond ik de oorzaak: mijn virtual switch (zowel de standaard aangemaakte als eentje die ik zelf maakte) werd verbonden met de default adapter. En in mijn geval is dat een VPN adapter….
De oplossing
De oplossing was uiteindelijk simpel: maak een virtual switch aan en zorg ervoor dat die verbonden is met de echte netwerk adapter.

En dat lost het probleem op. Ik ben nu gewoon verbonden met mijn netwerk. Ok, niet via de VPN maar mijn cluster kan toch niet van buiten benaderd worden en blijft ook binnen mijn eigen netwerk, dus ik zie daar niet zo’n probleem in.
Het zal wel een bug zijn…