Skip to content

install Minikube in windows sub linux ubuntu-20.04LTS

Step 1) Apply updates

tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ sudo apt update -y
[sudo] password for tommy:
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Building dependency tree
Reading state information... Done
33 packages can be upgraded. Run 'apt list --upgradable' to see them.
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ sudo apt upgrade -y
Reading package lists... Done
Building dependency tree
invoke-rc.d: could not determine current runlevel
Processing triggers for systemd (245.4-4ubuntu3.13) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for dbus (1.12.16-2ubuntu2.1) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Processing triggers for mime-support (3.64ubuntu1) ...

Step 2) Install Minikube dependencies


tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ sudo apt install -y curl wget apt-transport-https
Reading package lists... Done
Unpacking apt-transport-https (2.0.6) ...
Setting up apt-transport-https (2.0.6) ...

Step 3) Download Minikube Binary

tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
--2021-12-31 12:11:01--  https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Resolving storage.googleapis.com (storage.googleapis.com)... 172.217.160.80, 172.217.163.48, 142.251.42.240, ...
Connecting to storage.googleapis.com (storage.googleapis.com)|172.217.160.80|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 69568775 (66M) [application/octet-stream]
Saving to: ‘minikube-linux-amd64’

minikube-linux-amd64          100%[=================================================>]  66.35M  8.85MB/s    in 7.4s

2021-12-31 12:11:09 (8.99 MB/s) - ‘minikube-linux-amd64’ saved [69568775/69568775]
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$  sudo cp minikube-linux-amd64 /usr/local/bin/minikube
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ sudo chmod +x /usr/local/bin/minikube
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$  minikube version
minikube version: v1.24.0
commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 44.4M  100 44.4M    0     0  8891k      0  0:00:05  0:00:05 --:--:-- 9306k
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ chmod +x kubectl
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ sudo mv kubectl /usr/local/bin/
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ kubectl version -o yaml
clientVersion:
  buildDate: "2021-12-16T11:41:01Z"
  compiler: gc
  gitCommit: 86ec240af8cbd1b60bcc4c03c20da9b98005b92e
  gitTreeState: clean
  gitVersion: v1.23.1
  goVersion: go1.17.5
  major: "1"
  minor: "23"
  platform: linux/amd64

The connection to the server kubernetes.docker.internal:6443 was refused - did you specify the right host or port?

Step 4) Start the minikube

tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$  minikube start --driver=docker
😄  minikube v1.24.0 on Ubuntu 20.04 (amd64)
✨  Using the docker driver based on user configuration

💣  Exiting due to PROVIDER_DOCKER_VERSION_EXIT_1: "docker version --format -" exit status 1:
📘  Documentation: https://minikube.sigs.k8s.io/docs/drivers/docker/
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ docker version --format {{.Server.Os}}-{{.Server.Version}}
linux-20.10.11

tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ minikube start --addons=ingress --cpus=2 --cni=flannel --install-addons=true --kubernetes-version=stable --memory=6g
😄  minikube v1.24.0 on Ubuntu 20.04 (amd64)
✨  Automatically selected the docker driver. Other choices: none, ssh
❗  Your cgroup does not allow setting memory.
    ▪ More information: https://docs.docker.com/engine/install/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.22.3 preload ...
    > preloaded-images-k8s-v13-v1...: 501.73 MiB / 501.73 MiB  100.00% 5.23 MiB
    > gcr.io/k8s-minikube/kicbase: 355.78 MiB / 355.78 MiB  100.00% 3.47 MiB p/
🔥  Creating docker container (CPUs=2, Memory=6144MB) ...
🐳  Preparing Kubernetes v1.22.3 on Docker 20.10.8 ...
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔗  Configuring Flannel (Container Networking Interface) ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    ▪ Using image k8s.gcr.io/ingress-nginx/controller:v1.0.4
    ▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1
    ▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1
🔎  Verifying ingress addon...
🌟  Enabled addons: storage-provisioner, default-storageclass, ingress
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$  kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:53486
CoreDNS is running at https://127.0.0.1:53486/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ kubectl get nodes
NAME       STATUS   ROLES                  AGE     VERSION
minikube   Ready    control-plane,master   5m40s   v1.22.3


Step 5) Managing Addons on minikube

tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$ minikube addons list
|-----------------------------|----------|--------------|-----------------------|
|         ADDON NAME          | PROFILE  |    STATUS    |      MAINTAINER       |
|-----------------------------|----------|--------------|-----------------------|
| ambassador                  | minikube | disabled     | unknown (third-party) |
| auto-pause                  | minikube | disabled     | google                |
| csi-hostpath-driver         | minikube | disabled     | kubernetes            |
| dashboard                   | minikube | disabled     | kubernetes            |
| default-storageclass        | minikube | enabled ✅   | kubernetes            |
| efk                         | minikube | disabled     | unknown (third-party) |
| freshpod                    | minikube | disabled     | google                |
| gcp-auth                    | minikube | disabled     | google                |
| gvisor                      | minikube | disabled     | google                |
| helm-tiller                 | minikube | disabled     | unknown (third-party) |
| ingress                     | minikube | enabled ✅   | unknown (third-party) |
| ingress-dns                 | minikube | disabled     | unknown (third-party) |
| istio                       | minikube | disabled     | unknown (third-party) |
| istio-provisioner           | minikube | disabled     | unknown (third-party) |
| kubevirt                    | minikube | disabled     | unknown (third-party) |
| logviewer                   | minikube | disabled     | google                |
| metallb                     | minikube | disabled     | unknown (third-party) |
| metrics-server              | minikube | disabled     | kubernetes            |
| nvidia-driver-installer     | minikube | disabled     | google                |
| nvidia-gpu-device-plugin    | minikube | disabled     | unknown (third-party) |
| olm                         | minikube | disabled     | unknown (third-party) |
| pod-security-policy         | minikube | disabled     | unknown (third-party) |
| portainer                   | minikube | disabled     | portainer.io          |
| registry                    | minikube | disabled     | google                |
| registry-aliases            | minikube | disabled     | unknown (third-party) |
| registry-creds              | minikube | disabled     | unknown (third-party) |
| storage-provisioner         | minikube | enabled ✅   | kubernetes            |
| storage-provisioner-gluster | minikube | disabled     | unknown (third-party) |
| volumesnapshots             | minikube | disabled     | kubernetes            |
|-----------------------------|----------|--------------|-----------------------|
tommy@tommy-msi:/mnt/c/Users/yu_da/Desktop$

參考資料