delete minikube
➜ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.17.1/minikube-darwin-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 52.6M 100 52.6M 0 0 22.3M 0 0:00:02 0:00:02 --:--:-- 22.3M
brew install minikube
brew link minikube
We are going to start minikube with the following options:
➜ minikube start --disk-size=10g --cpus=2 --memory=2000 --driver=virtualbox
😄 minikube v1.17.1 on Darwin 11.1
✨ Using the virtualbox driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🔥 Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=10240MB) ...
🐳 Preparing Kubernetes v1.20.2 on Docker 20.10.2 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
➜
➜ minikube addons enable dashboard
💡 Some dashboard features require the metrics-server addon. To enable all features please run:
minikube addons enable metrics-server
🌟 The 'dashboard' addon is enabled
➜ minikube addons enable metrics-server
🌟 The 'metrics-server' addon is enabled
➜ minikube addons enable ingress
🔎 Verifying ingress addon...
🌟 The 'ingress' addon is enabled
➜ minikube addons enable logviewer
🌟 The 'logviewer' addon is enabled
➜ minikube service list
|----------------------|------------------------------------|--------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|----------------------|------------------------------------|--------------|-----------------------------|
| default | kubernetes | No node port |
| kube-system | ingress-nginx-controller-admission | No node port |
| kube-system | kube-dns | No node port |
| kube-system | logviewer | http/3000 | http://192.168.99.106:32000 |
| kube-system | metrics-server | No node port |
| kubernetes-dashboard | dashboard-metrics-scraper | No node port |
| kubernetes-dashboard | kubernetes-dashboard | No node port |
|----------------------|------------------------------------|--------------|-----------------------------|
List the minikube services running
➜ minikube service list
|----------------------|------------------------------------|--------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|----------------------|------------------------------------|--------------|-----------------------------|
| default | kubernetes | No node port |
| kube-system | ingress-nginx-controller-admission | No node port |
| kube-system | kube-dns | No node port |
| kube-system | logviewer | http/3000 | http://192.168.99.106:32000 |
| kube-system | metrics-server | No node port |
| kubernetes-dashboard | dashboard-metrics-scraper | No node port |
| kubernetes-dashboard | kubernetes-dashboard | No node port |
|----------------------|------------------------------------|--------------|-----------------------------|
Open the http://192.168.99.106:32000
in your web browser.
Convert the kubernetes-dashboard service from clusterIP to NodePort
kubectl edit service -n kubernetes-dashboard kubernetes-dashboard
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile","k8s-app":"kubernetes-dashboard","kubernetes.io/minikube-addons":"dashboard"},"name":"kubernetes-dashboard","namespace":"kubernetes-dashboard"},"spec":{"ports":[{"port":80,"targetPort":9090}],"selector":{"k8s-app":"kubernetes-dashboard"}}}
creationTimestamp: "2021-02-21T17:22:44Z"
labels:
addonmanager.kubernetes.io/mode: Reconcile
k8s-app: kubernetes-dashboard
kubernetes.io/minikube-addons: dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
resourceVersion: "1518"
uid: 9d96a528-b176-40c4-877a-d6e79de2375c
spec:
clusterIP: 10.110.201.127
clusterIPs:
- 10.110.201.127
externalTrafficPolicy: Cluster
ports:
- nodePort: 32137
port: 80
protocol: TCP
targetPort: 9090
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: ClusterIP # Change to NodePort
status:
loadBalancer: {}
View new url for dashboard
➜ k8s minikube service list
|----------------------|------------------------------------|--------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|----------------------|------------------------------------|--------------|-----------------------------|
| default | kubernetes | No node port |
| kube-system | ingress-nginx-controller-admission | No node port |
| kube-system | kube-dns | No node port |
| kube-system | logviewer | http/3000 | http://192.168.99.106:32000 |
| kube-system | metrics-server | No node port |
| kubernetes-dashboard | dashboard-metrics-scraper | No node port |
| kubernetes-dashboard | kubernetes-dashboard | 80 | http://192.168.99.106:32137 |
|----------------------|------------------------------------|--------------|-----------------------------|
Open link http://192.168.99.106:32137 in web browser.