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

相关推荐
黑化旺仔7 天前
【OC】KVO
macos·ios·objective-c·cocoa
Liekkas Kono7 天前
macOS 27 安装 VMware Fusion 和 Win11 经验
macos·win11·vmware
shark-chili9 天前
关于AI辅助编程的认知
数据库·人工智能·redis·macos·缓存
zwd20059 天前
Mac 上写英文遇到不会的词,有哪些工具?输入法、翻译软件、写作助手怎么选
人工智能·macos·效率工具·英语写作·输入法·deepl·翻译工具
33三 三like9 天前
Jx-Mac 本地部署过程总结
macos
大象AI共学10 天前
想在手机上读 Obsidian?Mac → iPhone / 安卓的零成本方案
macos·智能手机·iphone
sysinside11 天前
如何创建可引导的 macOS Golden Gate 27 安装介质
macos
Dr.Buho11 天前
macOS 27 升级教程:兼容机型、三种安装方法与降级提示
经验分享·macos
sysinside11 天前
macOS Golden Gate 27.0 (26A428) 正式版 Boot ISO 原版可引导映像下载
macos
黑科技iOS上架12 天前
Cocos应用App Store4.3被拒怎么自查
macos·ios·objective-c·cocoa·审核·ios混淆·cocos混淆