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
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2022-08-01 19:22:16

results matching ""

    No results matching ""