I've been doing something like this for about 3 months with very good success. This is also pretty much the only "complete" solution I could come up with that doesn't involve duct taping 3-4 different things and keeping them all in my head.
A simpler solution I had - One linux vm, SSH connection plugin in VSCode and a simple 4 line SSH config file (~/.ssh/config) does magic.
The LocalForwards are key in setting up any tunnels I need working locally - you can tunnel as many ports as you need.
I use the terminal inside VSCode - which means I can manage docker(-compose), microk8s, etc and anything I spin up, I'll just be able to access from my local host during testing.
A simpler solution I had - One linux vm, SSH connection plugin in VSCode and a simple 4 line SSH config file (~/.ssh/config) does magic.
Here's my config file -
The LocalForwards are key in setting up any tunnels I need working locally - you can tunnel as many ports as you need.I use the terminal inside VSCode - which means I can manage docker(-compose), microk8s, etc and anything I spin up, I'll just be able to access from my local host during testing.