1. 在 MacOS 系统上使用 minikube 安装 kubernetes
1.1. 获取并安装 minikube
将 minikube 文件 和 sha256 校验文件下载到本地
curl -LO https://github.com/kubernetes/minikube/releases/download/v1.26.0/minikube-linux-arm64
curl -LO https://github.com/kubernetes/minikube/releases/download/v1.26.0/minikube-linux-arm64.sha256
通过计算二进制文件的 sha256 值与下载的 minikube-darwin-amd64.sha256 内容匹配。
user001@user001deMacBook-Pro minikube % cat minikube-darwin-arm64.sha256
39f90dc37d5cf4b6d150b177a4c9d2967d9d923cd8eb7d5b99268987a0287aba
user001@user001deMacBook-Pro minikube % shasum -a 256 minikube-darwin-arm64
39f90dc37d5cf4b6d150b177a4c9d2967d9d923cd8eb7d5b99268987a0287aba minikube-darwin-arm64
校验后可以通过 install 安装
sudo install minikube-darwin-arm64 /usr/local/bin/minikube
或者直接复制到 bin 目录,添加可执行权限即可
cp minikube-darwin-arm64 /usr/local/bin/minikube
chmod +x /usr/local/bin/minikube
1.2. 使用 minikube 安装 Kubernetes 集群
安装 Kubernetes 集群有许多参数,这些参数在 minikube start 命令可以详细了解。
这里提供一个在 MacOS M1 下安装的参考命令
minikube start \
-p k8s-v1.19.16 \
--kubernetes-version v1.19.16 \
--registry-mirror=https://registry.docker-cn.com \
--image-mirror-country=cn \
--driver=docker \
--cni=calico
1.3. 启动日志
zhaowenyu@zhaowenyudeMacBook-Pro minikube % minikube start \
-p k8s-v1.19.16 \
--kubernetes-version v1.19.16 \
--registry-mirror=https://registry.docker-cn.com \
--image-mirror-country=cn \
--driver=docker \
--cni=calico
😄 Darwin 12.4 (arm64) 上的 [k8s-v1.19.16] minikube v1.26.0
🆕 Kubernetes 1.24.1 is now available. If you would like to upgrade, specify: --kubernetes-version=v1.24.1
✨ 根据现有的配置文件使用 docker 驱动程序
👍 Starting control plane node k8s-v1.19.16 in cluster k8s-v1.19.16
🚜 Pulling base image ...
🔄 Restarting existing docker container for "k8s-v1.19.16" ...
> kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubeadm: 34.38 MiB / 34.38 MiB [---------------] 100.00% 1.27 MiB p/s 27s
> kubelet: 96.95 MiB / 96.95 MiB [---------------] 100.00% 2.59 MiB p/s 38s
> kubectl: 38.00 MiB / 38.00 MiB [-------------] 100.00% 967.93 KiB p/s 40s
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔗 Configuring Calico (Container Networking Interface) ...
🔎 Verifying Kubernetes components...
▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
❗ /usr/local/bin/kubectl is version 1.21.2, which may have incompatibilites with Kubernetes 1.19.16.
▪ Want kubectl v1.19.16? Try 'minikube kubectl -- get pods -A'
🏄 Done! kubectl is now configured to use "k8s-v1.19.16" cluster and "default" namespace by default
2. 问题处理
% minikube start \
-p k8s-v1.19.16 \
--kubernetes-version v1.19.16 \
--registry-mirror=https://registry.docker-cn.com \
--image-mirror-country=cn \
--driver=docker \
--cni=calico
E0731 15:29:12.465424 40173 cloud_events.go:60] unable to write to /Users/user001/.minikube/profiles/k8s-v1.19.16/events.json: open /Users/user001/.minikube/profiles/k8s-v1.19.16/events.json: permission denied
😄 Darwin 12.4 (arm64) 上的 [k8s-v1.19.16] minikube v1.26.0
✨ 根据用户配置使用 docker 驱动程序
✅ 正在使用镜像存储库 registry.cn-hangzhou.aliyuncs.com/google_containers
📌 Using Docker Desktop driver with root privileges
👍 Starting control plane node k8s-v1.19.16 in cluster k8s-v1.19.16
🚜 Pulling base image ...
❌ Exiting due to HOST_HOME_PERMISSION: Failed to save config: open /Users/user001/.minikube/profiles/k8s-v1.19.16/config.json: permission denied
💡 建议:Your user lacks permissions to the minikube profile directory. Run: 'sudo chown -R $USER $HOME/.minikube; chmod -R u+wrx $HOME/.minikube' to fix
🍿 Related issue: https://github.com/kubernetes/minikube/issues/9165
按照提示支持
sudo chown -R $USER $HOME/.minikube; chmod -R u+wrx $HOME/.minikube