问题
之前写过一个mac版本的minikube安装,不过上次的mac是intel的cpu,这次我们在苹果的m1上面安装minikube。下面假设你能正常使用使用官方资源。
步骤
使用代理
export https_proxy=http://127.0.0.1:8234;export http_proxy=http://127.0.0.1:8234;export all_proxy=socks5://127.0.0.1:8235
安装kubectl
brew install kubectl
安装qemu
brew install qemu
安装并启动socket_vmnet
brew install socket_vmnet
brew tap homebrew/services
HOMEBREW=$(which brew) && sudo ${HOMEBREW} services start socket_vmnet
安装minikube
brew install minikube
brew unlink minikube
brew link minikube
验证
启动minikube
minikube start --driver qemu --network socket_vmnet --cpus 4 --memory "6000mb"
启动结果:
😄 Darwin 14.3.1 (arm64) 上的 minikube v1.32.0
✨ 根据用户配置使用 qemu2 驱动程序
❗ Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:8234 to docker env.
❗ Local proxy ignored: not passing HTTPS_PROXY=http://127.0.0.1:8234 to docker env.
💿 正在下载 VM boot image...
> minikube-v1.32.1-arm64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.32.1-arm64.iso: 312.47 MiB / 342.84 MiB 91.14% 377.94 KiB p^R
> minikube-v1.32.1-arm64.iso: 342.84 MiB / 342.84 MiB 100.00% 442.33 KiB
👍 正在集群 minikube 中启动控制平面节点 minikube
🔥 正在创建 qemu2 VM(CPUs=4,内存=6000MB,磁盘=20000MB)...
❗ Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:8234 to docker env.
❗ Local proxy ignored: not passing HTTPS_PROXY=http://127.0.0.1:8234 to docker env.
🌐 找到的网络选项:
▪ HTTP_PROXY=http://127.0.0.1:8234
❗ You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP (192.168.105.2).
📘 Please see https://minikube.sigs.k8s.io/docs/handbook/vpn_and_proxy/ for more details
▪ HTTPS_PROXY=http://127.0.0.1:8234
🐳 正在 Docker 24.0.7 中准备 Kubernetes v1.28.3…
▪ 正在生成证书和密钥...
▪ 正在启动控制平面...
▪ 配置 RBAC 规则 ...
🔗 配置 bridge CNI (Container Networking Interface) ...
▪ 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
🔎 正在验证 Kubernetes 组件...
🌟 启用插件: storage-provisioner, default-storageclass
🏄 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间
查看状态
minikube status
查看状态结果:
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
查看当前配置:
kubectl config current-context
如下:
minikube
查看版本:
kubectl version
如下:
Client Version: v1.29.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.3
查看集群状态:
kubectl cluster-info
如下:
Kubernetes control plane is running at https://192.168.105.2:8443
CoreDNS is running at https://192.168.105.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
查看节点:
kubectl get no
如下:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 110s v1.28.3
打开dashboard:
minikube addons enable metrics-server
minikube dashboard
如下:
🤔 正在验证 dashboard 运行情况 ...
🚀 正在启动代理...
🤔 正在验证 proxy 运行状况 ...
🎉 正在使用默认浏览器打开 http://127.0.0.1:56327/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ ...
效果如下:
查看已经安装的addons:
minikube addons list
如下:
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | minikube |
| cloud-spanner | minikube | disabled | Google |
| csi-hostpath-driver | minikube | disabled | Kubernetes |
| dashboard | minikube | enabled ✅ | Kubernetes |
| default-storageclass | minikube | enabled ✅ | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | minikube |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [info@inaccel.com]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | minikube |
| inspektor-gadget | minikube | disabled | 3rd party |
| | | | (inspektor-gadget.io) |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubeflow | minikube | disabled | 3rd party |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | enabled ✅ | Kubernetes |
| nvidia-device-plugin | minikube | disabled | 3rd party (NVIDIA) |
| nvidia-driver-installer | minikube | disabled | 3rd party (Nvidia) |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | 3rd party (Portainer.io) |
| registry | minikube | disabled | minikube |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | minikube |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| storage-provisioner-rancher | minikube | disabled | 3rd party (Rancher) |
| volumesnapshots | minikube | disabled | Kubernetes |
|-----------------------------|----------|--------------|--------------------------------|
总结
之前在mac上面安装minikube是intel的cpu,这次是在苹果的m1芯片上面安装minikube,主要过程都差不多,只是虚拟机变成了qemu。