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-dashboard 和 dashboard-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 文件中设置 imagePullPolicy 为 IfNotPresent 或 Never,以确保 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

相关推荐
一个人旅程~13 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
volunteer102413 小时前
从仅剩 6 GB 到狂腾 70 GB:我的 256G Mac mini 深度清理与内存排查实战
macos
todoitbo2 天前
我在 Mac 上用 Docker 部署 Nexent:从拉取镜像到接入模型
macos·docker·大模型·ai智能体·nexent·快速入门与环境准备
独隅2 天前
WebStorm macOS 安装部署与高效调优实战指南
ide·macos·webstorm
fthux3 天前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
FPGA小迷弟4 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
周小董6 天前
[1379]mac安装nvm
macos
bossjuemfc6 天前
不记得文件名时,Mac 上的搜索还能怎么做?
macos
2501_915909066 天前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode
请为小H留灯6 天前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧