• Minikube本地安装(mac M1版)


    问题

    之前写过一个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
    
    • 1

    安装kubectl

    brew install kubectl
    
    • 1

    安装qemu

    brew install qemu
    
    • 1

    安装并启动socket_vmnet

    brew install socket_vmnet
    brew tap homebrew/services
    HOMEBREW=$(which brew) && sudo ${HOMEBREW} services start socket_vmnet
    
    • 1
    • 2
    • 3

    安装minikube

    brew install minikube
    brew unlink minikube
    brew link minikube
    
    • 1
    • 2
    • 3

    验证

    启动minikube

    minikube start --driver qemu --network socket_vmnet --cpus 4 --memory "6000mb"
    
    • 1

    启动结果:

    😄  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"命名空间
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    查看状态

    minikube status
    
    • 1

    查看状态结果:

    minikube
    type: Control Plane
    host: Running
    kubelet: Running
    apiserver: Running
    kubeconfig: Configured
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    查看当前配置:

    kubectl config current-context
    
    • 1

    如下:

    minikube
    
    • 1

    查看版本:

    kubectl version
    
    • 1

    如下:

    Client Version: v1.29.2
    Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
    Server Version: v1.28.3
    
    • 1
    • 2
    • 3

    查看集群状态:

    kubectl cluster-info
    
    • 1

    如下:

    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'.
    
    • 1
    • 2
    • 3
    • 4

    查看节点:

    kubectl get no
    
    • 1

    如下:

    NAME       STATUS   ROLES           AGE    VERSION
    minikube   Ready    control-plane   110s   v1.28.3
    
    • 1
    • 2

    打开dashboard:

    minikube addons enable metrics-server
    minikube dashboard
    
    • 1
    • 2

    如下:

    🤔  正在验证 dashboard 运行情况 ...
    🚀  正在启动代理...
    🤔  正在验证 proxy 运行状况 ...
    🎉  正在使用默认浏览器打开 http://127.0.0.1:56327/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ ...
    
    • 1
    • 2
    • 3
    • 4

    效果如下:

    查看已经安装的addons:

    minikube addons list
    
    • 1

    如下:

    |-----------------------------|----------|--------------|--------------------------------|
    |         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                     |
    |-----------------------------|----------|--------------|--------------------------------|
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    总结

    之前在mac上面安装minikube是intel的cpu,这次是在苹果的m1芯片上面安装minikube,主要过程都差不多,只是虚拟机变成了qemu。

    参考

  • 相关阅读:
    计算机网络原理 谢希仁(第8版)第二章习题答案
    第7章 - 多无人机系统的协同控制 --> 无人机模型分析
    Matlab进阶绘图第44期—柱泡图/气泡柱状图
    深入理解ThreadLocal
    如何体验最新GPT-4o模型?
    性能测试和自动化测试有什么区别?
    12.springboot中使用自定义Filter
    【头歌】计算机网络DHCP服务器配置第四关配置路由器子接口答案
    cors基础,响应头设置
    JavaWeb开发06-原理-Spring配置优先级-Bean管理-SpringBoot原理-Maven继承和聚合-私服
  • 原文地址:https://blog.csdn.net/fxtxz2/article/details/136317698