User-mode networking stack
With v1.19 CRC introduced a new network mode that allows users to work with a VPN turned on.
Instead of using a traditional NAT, it uses a userspace network stack. The virtual machine is
now seen by the host operating system as a normal application.
Instructions
Windows
Since 1.32.1, the default network mode is usermode.
macOS
Since 1.26.0, the default network mode is usermode.
- Run the tray application
- Click start or run
crc start
Linux
- Cleanup the previous installation of crc.
Runcrc delete
,crc cleanup
and remove the folder$HOME/.crc
- Remove eventual *.crc.testing records in your hosts file /etc/hosts.
- Activate the user network mode.
crc config set network-mode user
- Prepare the host machine
crc setup
- Start the virtual machine as usual
crc start
Reaching the host from the VM
You can enable this feature with the config property host-network-access
.
- Close the application (or the daemon) and the VM.
- crc config set host-network-access true
- Start the application (or the daemon) and the VM.
In your containers, you will be able to use host.crc.testing
DNS name to reach the host.
It is the equivalent of host.docker.internal
in Docker Desktop.
Using with Docker Desktop
You can build your containers with Docker Desktop and push them to the OpenShift registry.
On macOS and Linux, you can directly use docker login
.
On Windows, this is slightly more complicated. Please follow this guide:
- https://github.com/code-ready/crc/issues/1917#issuecomment-814037029
- or https://github.com/code-ready/crc/issues/2354#issuecomment-851320171
What to test
- Please turn on your VPN software before and after starting CRC.
We would like to know if CRC behave well and if you can login to the OpenShift console (usecrc console
). - Deploy a pod that connects to a resource on your VPN network.
caution
Don't run Docker Desktop with Kubernetes activated and CRC side-by-side. This might lead to overlapping of ports.