-
Ensure hypervisor functionality is enabled in BIOS.
- I know it sounds stupid, but if you already have it enabled, disable it, restart the machine, and enable it again.
- Otherwise you will hit microsoft/WSL#5363
-
Launch a PowerShell prompt in Administrator mode [Win+X > Windows PowerShell (Admin)]
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
bcdedit /set hypervisorlaunchtype auto
-
Install the Linux kernel update package and install it
-
Restart machine
-
Launch a PowerShell prompt in Administrator mode [Win+X > Windows PowerShell (Admin)]
wsl --set-default-version 2
-
Install Ubuntu Linux distribution of your choice from the Windows Store (not the one with the version in the names)
-
Verify WSL version is set correctly
wsl --list --verbose
- Run series of commands to get right build of Docker installed
- Removes the old crap, gets the dependencies right, adds Docker key, adds Docker repo, installs the new hotness
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
- Run series of commands to ensure you can interact with Docker without root
- Third command here is a trick to reload your profile without actually logging out
- Closing out Ubuntu shell and starting over instead of third command is an option
sudo groupadd docker
sudo usermod -aG docker ${USER}
su -s ${USER}
- Test the Docker configuration
sudo service docker start
docker run hello-world
If you have issues with the docker run hello-world
command, see the troubleshooting.md
on this gist.
- Install Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo apt install ./minikube_latest_amd64.deb -y
rm minikube_latest_amd64.deb
- Start it
minikube start
- Get the dashboard going
- The dashboard will continue to run and does not return back to a prompt here
- You will need to kill the dashboard to continue in the guide
minikube dashboard
- Open the dashboard in your favorite browser (in Windows)
- Port is dynamic, so can't document it well - you'll just have to be good at reading directions
- The port will be in output of step 3 command
- Should look something like this...
http://127.0.0.1:[PORT GOES HERE]/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/workloads?namespace=default
- This process is going to block you from the finishing this guide, but to keep it running, do the following...
- Perform "CTRL+Z" on the keyboard to send the process into paused state
- Execute the following command to resume the paused process in the background
bg
- Install Kubectl
- Adds k8s key, adds k8s repo, installs the new hotness
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
- Use it
kubectl get po -A
- Install Helm
curl --output helm-linux-amd64.tar.gz https://get.helm.sh/helm-v3.4.2-linux-amd64.tar.gz
tar -zxvf helm-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm
rm helm-linux-amd64.tar.gz
rm -rf linux-amd64
- Use it
helm version
@network-charles - Did the command immediately before the
tar -zxvf helm-linux-amd64.tar.gz
complete successfully?