Azure account with owner role on your alias resource group of Dev Box subscription.
Usage
Click the "rocket" to provision in Remote Explorer view. It will ask you to log in Azure account if not logged in. Then choose a location close to you for the VM. New SSH keys will be generated if you don't have one in ~/.ssh/id_rsa on your local machine (which is running the vs code), or it will use the ~/.ssh/id_rsa.pub as the public SSH key to create the dev box.
After getting provisioning succeeded message in the notification, right-click the dev box in the Remote Explorer tree view, and choose: "Connect to Host in Current Window".
Note that, ensure your MSFTVPN connection then connect to the dev box.
Install this extension "AKS Dev" again after connecting to the remote host. (The remote VS Code host is another server. So it doesn’t have local extension as the dev box is a new VM.)
Right-click the dev box in the tree view, and click the “Set up AKS Dev Box” to configure the dev box for you.
Watch VS Code notification message and wait for the scripts finish. You can use tail -f dev_box_installrequiredsoftwares.log or so to track the detailed progress.
Run $HOME/init.sh to clone AKS RP repo.
Known Issues
VS Code doesn't restrict dependency extensions version: https://github.com/microsoft/vscode/issues/82655. As this extension depends on azure-account extension and remote-ssh extension, it might break if the dependency extensions have breaking change on their APIs.
E.g. https://github.com/microsoft/vscode-azure-account/issues/317 current azure-account extension still fits the old Azure SDK for Node. It is not compatible with the new Azure SDK for JS. We write a adapter to wrap the old credential to use the Azure SDK for JS. This might break after azure-account extension bumps to use Azure SDK for JS.
We can't distinguish connection state in remote mode -- a null tree item is passed to the aksdev.setupDevBox command. So no matter which host in the tree view is ran aksdev.setupDevBox, it just runs the init script for the connected host.
In remote mode, extension messages are blocked until the setup command finishes, and then all showed.
Existing customized manged identity bindings will be overwritten by a redeployment