dockerhub被墙后macos如何搭建本地minikube的环境

macos上如何安装

最近因为dockerhub在已经在国内被墙了,因此在安装minikube 存在一些镜像拉不下来的情况,当然最好的办法是直接使用翻墙vpn即可使用。

但是因为我目前的电脑是公司电脑,不允许安装此类软件,因此我要想办法如何把镜像down下来。

macos上安装minikube 相对几个命令搞定。

0.报错信息

复制代码
➜  ~ kubectl get pods -n kubernetes-dashboard
NAME                                        READY   STATUS             RESTARTS   AGE
dashboard-metrics-scraper-b5fc48f67-hp846   0/1     ImagePullBackOff   0          2m27s
kubernetes-dashboard-779776cb65-ll9w6       0/1     ImagePullBackOff   0          2m27s

具体报错信息

kubectl get events -n kubernetes-dashboard

复制代码
8m21s       Warning   Failed             pod/dashboard-metrics-scraper-65457555b7-cp557    Error: ErrImagePull
4m46s       Normal    BackOff            pod/dashboard-metrics-scraper-65457555b7-cp557    Back-off pulling image "kubernetesui/metrics-scraper:v1.0.1"
8m7s        Warning   Failed             pod/dashboard-metrics-scraper-65457555b7-cp557    Error: ImagePullBackOff
4m22s       Normal    Scheduled          pod/dashboard-metrics-scraper-65457555b7-jff4r    Successfully assigned kubernetes-dashboard/dashboard-metrics-scraper-65457555b7-jff4r to minikube
2m50s       Normal    Pulling            pod/dashboard-metrics-scraper-65457555b7-jff4r    Pulling image "kubernetesui/metrics-scraper:v1.0.1"
2m49s       Warning   Failed             pod/dashboard-metrics-scraper-65457555b7-jff4r    Failed to pull image "kubernetesui/metrics-scraper:v1.0.1": Error response from daemon: Get "https://registry-1.docker.io/v2/": EOF

ImagePullBackOff 状态表示 Kubernetes 无法拉取指定的 Docker 镜像。这通常是因为镜像名称或标签不正确,或者 Kubernetes 无法访问镜像仓库。以下是一些可能的解决方法:

1. 检查镜像名称和标签

确保你使用的镜像名称和标签是正确的。例如,kubernetes-dashboarddashboard-metrics-scraper 的镜像名称和标签是否正确。

你可以通过以下命令查看 Pod 的详细信息,包括镜像名称和标签:

复制代码
kubectl describe pod <pod-name> -n kubernetes-dashboard

2. 确保镜像存在于镜像仓库

确保镜像存在于你指定的镜像仓库中。你可以尝试手动拉取镜像以验证:

复制代码
docker pull kubernetesui/metrics-scraper:v1.0.8
docker pull kubernetesui/dashboard:v2.0.0

3. 使用 Minikube 加载本地镜像

如果你已经在本地 Docker 环境中拉取了镜像,可以使用 Minikube 将本地镜像加载到 Minikube 集群中:

复制代码
minikube image load kubernetesui/metrics-scraper:v1.0.8
minikube image load kubernetesui/dashboard:v2.0.0

4. 配置镜像拉取策略

确保你的 Pod 配置中使用了正确的镜像拉取策略。你可以在 Pod 的 YAML 文件中设置 imagePullPolicyIfNotPresentNever,以确保 Kubernetes 使用本地镜像而不是尝试从远程仓库拉取。

例如:

复制代码
spec:
  containers:
  - name: kubernetes-dashboard
    image: kubernetesui/dashboard:v2.0.0
    imagePullPolicy: IfNotPresent
  - name: dashboard-metrics-scraper
    image: kubernetesui/metrics-scraper:v1.0.8
    imagePullPolicy: IfNotPresent

5. 检查网络连接

确保你的 Kubernetes 集群能够访问外部网络。如果你在防火墙或代理后面,可能需要配置网络设置以允许访问 Docker 镜像仓库。

6. 查看事件日志

查看事件日志以获取更多关于镜像拉取失败的详细信息:

复制代码
kubectl get events -n kubernetes-dashboard

7. 手动更新镜像

如果你已经在本地 Docker 环境中拉取了镜像,可以手动更新 Deployment 以使用本地镜像:

复制代码
kubectl set image deployment/kubernetes-dashboard kubernetes-dashboard=kubernetesui/dashboard:v2.0.0 -n kubernetes-dashboard
kubectl set image deployment/dashboard-metrics-scraper dashboard-metrics-scraper=kubernetesui/metrics-scraper:v1.0.8 -n kubernetes-dashboard

8.解决方案

因此我选用了从可以下载到此镜像的地方下载镜像

复制代码
docker pull kubernetesui/metrics-scraper:v1.0.8
docker images
docker  save -o metrics-scraper.tar kubernetesui/metrics-scraper:v1.0.8
docker  load -i metrics-scraper.tar 
​
docker save -o dashboard.tar kubernetesui/dashboard:v2.0.0
docker load -i dashboard.tar

然后,我导入到镜像仓库后,使用第七步,直接手动更新了 Deployment 以使用本地镜像

'在执行

minikube dashboard

相关推荐
瓜子三百克19 小时前
CALayer的异步处理
macos·ios·cocoa
Fine姐19 小时前
传感器WSNs TheDataLinkLayer——B-MAC
macos
九丝城主19 小时前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--中篇
服务器·flutter·macos·vmware
呆萌的代Ma21 小时前
解决Mac上的老版本docker desktop 无法启动/启动后一直转圈/无法登陆账号的问题
macos·docker·eureka
fengyun289121 小时前
Omi录屏专家 Screen Recorder by Omi 屏幕录制Mac
macos·mac·录屏·屏幕录制
不学会Ⅳ1 天前
Mac M芯片搭建jdk源码环境(jdk24)
java·开发语言·macos
九丝城主2 天前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--上篇
服务器·flutter·macos·vmware
芳草萋萋鹦鹉洲哦2 天前
【vue3+tauri+rust】如何实现下载文件mac+windows
windows·macos·rust
梅名智3 天前
IOS 蓝牙连接
macos·ios·cocoa
帅次4 天前
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
flutter·macos·ios·objective-c·iphone·swift·safari