<p><strong>Heads up</strong>: I need Hyper-V as VM driver because I want to be able to use the ingress addon; using Docker as the driver will not allow the use of addons in Windows.</p>

<p>I am using Minikube v1.11.0 and Kubernetes v1.18.3. When I am trying to create and launch a Minikube cluster according to <a href="https://medium.com/@JockDaRock/minikube-on-windows-10-with-hyper-v-6ef0f4dc158c" rel="nofollow noreferrer">this tutorial</a> with Hyper-V in PowerShell it keeps hanging on 'Creating hyperv VM:</p>

<pre><code>PS C:\WINDOWS\system32&gt; minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"
* minikube v1.11.0 on Microsoft Windows 10 Pro 10.0.18363 Build 18363
  - KUBECONFIG=~/.kube/config
* Using the hyperv driver based on user configuration
* Starting control plane node minikube in cluster minikube
* Creating hyperv VM (CPUs=4, Memory=4096MB, Disk=20000MB) ...
</code></pre>

<p>After about 10 minutes it goes further and crashes with this errors:</p>

<pre><code>* Stopping "minikube" in hyperv ...
* Powering off "minikube" via SSH ...
* Deleting "minikube" in hyperv ...
! StartHost failed, but will try again: creating host: create host timed out in 240.000000 seconds
E0605 19:02:43.905739   30748 main.go:106] libmachine: [stderr =====&gt;] : Hyper-V\Get-VM : Hyper-V was unable to find a virtual machine with name "minikube".
At line:1 char:3
+ ( Hyper-V\Get-VM minikube ).state
+   ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (minikube:String) [Get-VM], VirtualizationException
    + FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVM

...
Multiple E0605 errors
...

* Failed to start hyperv VM. "minikube start" may fix it: creating host: create host timed out in 240.000000 seconds
*
* [CREATE_TIMEOUT] error provisioning host Failed to start host: creating host: create host timed out in 240.000000 seconds
* Suggestion: Try 'minikube delete', and disable any conflicting VPN or firewall software
* Related issue: https://github.com/kubernetes/minikube/issues/7072
</code></pre>

<p>What to do?</p>

<p>Fix On Azure VM in Windows Server 2019:</p>
<ol start="0">
<li><p>Check if minikube VM has an IP Address in Networking tab</p>
<ul>
<li>If <em>NO</em> IP address and no DHCP is running in VM, then go to next step</li>
</ul>
</li>
<li><p>Create <a href="https://learn.microsoft.com/en-us/azure/virtual-machines/windows/nested-virtualization#set-up-internet-connectivity-for-the-guest-virtual-machine" rel="nofollow noreferrer">new InternalNAT switch</a>:</p>
</li>
</ol>
<p>Powershell:</p>
<pre><code>New-VMSwitch -Name &quot;InternalNAT&quot; -SwitchType Internal 

Get-NetAdapter
# Take note of the &quot;ifIndex&quot; for the virtual switch you just created, assuming 13

New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 13

New-NetNat -Name &quot;InternalNat&quot; -InternalIPInterfaceAddressPrefix 192.168.0.0/24
</code></pre>
<ol start="2">
<li>Create DHCP Server</li>
</ol>
<ul>
<li>Create new scope for 192.168.<em>.</em> (or any range, note down this range)</li>
</ul>
<ol start="3">
<li>Delete and Re-create minikube and use &quot;InternalNat&quot; switch</li>
</ol>
<pre><code>minikube start --vm-driver hyperv --hyperv-virtual-switch &quot;InternalNAT&quot;
</code></pre>
