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

相关推荐
Cosmoshhhyyy7 小时前
mac环境下安装git并配置密钥等
git·macos
肥肥呀呀呀13 小时前
mac 安卓模拟器 blueStacks
macos
csdn_aspnet13 小时前
如何在 MacOS 上安装 SQL Server
macos·sqlserver
共享家95272 天前
linux-数据链路层
linux·网络·macos
CZIDC2 天前
MacOS字体看起来比在 Windows 上更好?
macos
Cosmoshhhyyy2 天前
linux远程部署dify和mac本地部署dify
linux·运维·macos
行星0082 天前
mac 通过homebrew 安装和使用nvm
macos·npm·node.js
2501_928094653 天前
Mac电脑录屏工具 Omi录屏专家(Mac中文)
macos·mac·录屏工具·omi
森之鸟3 天前
Mac chrome浏览器下载DevEco Studio 6.0.0 Beta2失败
前端·chrome·macos