卸载Docker Desktop
brew uninstall docker
安装Hyperkit
brew install hyperkit
❯ hyperkit -v
hyperkit: 0.20200908Homepage:https://github.com/docker/hyperkit
License: BSD
安装Docker CLI
brew install docker
❯ docker info
Client:
Context: default
Debug Mode: falseServer:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
安装Kubectl
brew install kubectl
安装Minikube(和Docker守护进程)
brew install minikube
minikube config set cpus 6
minikube config set memory 12g
❯ minikube start --kubernetes-version=v1.19.14 --driver=hyperkit --container-runtime=docker
😄 minikube v1.23.0 on Darwin 11.5.2
▪ MINIKUBE_ACTIVE_DOCKERD=minikube
✨ Using the hyperkit driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
💾 Downloading Kubernetes v1.19.14 preload ...
> preloaded-images-k8s-v12-v1...: 470.78 MiB / 470.78 MiB 100.00% 6.17 MiB
🔥 Creating hyperkit VM (CPUs=6, Memory=12288MB, Disk=20000MB) ...
❗ This VM is having trouble accessing https://k8s.gcr.io
💡 To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳 Preparing Kubernetes v1.19.14 on Docker 20.10.8 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
❗ /usr/local/bin/kubectl is version 1.22.1, which may have incompatibilites with Kubernetes 1.19.14.
▪ Want kubectl v1.19.14? Try 'minikube kubectl -- get pods -A'
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
❯ minikube kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 7m6s v1.19.14
eval $(minikube docker-env)
❯ docker info
Client:
Context: default
Debug Mode: falseServer:
Containers: 14
Running: 14
Paused: 0
Stopped: 0
Images: 10
Server Version: 20.10.8
Storage Driver: overlay2
Backing Filesystem: extfs
...
需要Docker Compose?
brew install docker-compose
暴露Services到Minikube外部
❯ minikube addons enable ingress
▪ Using image k8s.gcr.io/ingress-nginx/controller:v1.0.0-beta.3
▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0
▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0
🔎 Verifying ingress addon...
❯ minikube ip
192.168.64.12
❯ curl http://192.168.64.12
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
❯ minikube addons enable ingress-dns
▪ Using image cryptexlabs/minikube-ingress-dns:0.3.0
minikube addons enable metallb
❯ minikube addons configure metallb
-- Enter Load Balancer Start IP: 192.168.64.5
-- Enter Load Balancer End IP: 192.168.64.15
▪ Using image metallb/speaker:v0.9.6
▪ Using image metallb/controller:v0.9.6
✅ metallb was successfully configured
其他问题
brew install docker-credential-helper
minikube pause
minikube unpause
minikube mount /myvolume:/test
docker run --rm -it -v /test:/inside busybox /bin/sh
总结
https://minikube.sigs.k8s.io/docs/drivers/
https://minikube.sigs.k8s.io/docs/drivers/hyperkit/
https://minikube.sigs.k8s.io/docs/handbook/addons/ingress-dns/
https://www.reddit.com/r/kubernetes/comments/pjlt52/goodbye_docker_desktop_hello_minikube/hbyi4m5?utm_source=share&utm_medium=web2x&context=3
文章转载:分布式实验室
(版权归原作者所有,侵删)
点击下方“阅读原文”查看更多