Mac安装Docker Desktop搭建K8s集群,解决镜像无法下载的问题

使用 Docker Desktop 可以在本地方便地搭建出 K8s 集群,但开启 K8s 集群后往往会遇到 K8s 镜像拉取失败问题,本文旨在解决该问题,从而在本地搭建 K8s 集群。

安装Docker Desktop

安装 Docker Desktop 建议安装历史版本, 不建议安装最新版。因为最新版本的 Docker Desktop 所绑定的 K8s镜像可能在下方的Github项目中还没有及时更新,所以不建议安装最新版本。

截止2024.11.19,笔者安装的 Docker Desktop 版本为 v4.30.0,自带的 K8s 集群版本为v1.29.2,亲测可以安装成功。

Docker Desktop 下载地址:https://docs.docker.com/desktop/release-notes/#4300

修改国内镜像源

安装成功后,修改 Docker Desktop 配置,将镜像源修改为国内镜像。具体做法为点击右上角「设置」 ->「Docker Engine」,粘贴将下方配置,即可将网易源、国科大源等加入镜像源。

plain 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "https://reg-mirror.qiniu.com"
  ]
}

拉取K8s所需镜像

拉取 K8s 所需镜像需要通过 Github 上一个项目实现,该项目中的脚本可以自动安装所需 K8s 镜像,具体做法为:

1、先在 Docker Deskto p 中确定 **K8s **版本,点击 设置 ->kubernetes 即可看到版本。

2、然后去Github项目 https://github.com/AliyunContainerService/k8s-for-docker-desktop 中查看是否有对应版本的分支名,执行git clone -b [版本号] [https://github.com/AliyunContainerService/k8s-for-docker-desktop.git](https://github.com/AliyunContainerService/k8s-for-docker-desktop.git)拉取指定分支。(注意替换命令行中的版本号)

3、随后执行 cd k8s-for-docker-desktop进入项目后,执行./load_images.sh 下载镜像,下载镜像完成后即可进行下一步。

开启K8s

Docker Desktop 中点击 设置 -> kubernetes -> Enable kubernetes即可开启k8s集群。

如果失败后可以卸载掉 Docker desktop 换个版本安装后重新拉取镜像试试,卸载方式为点击 Troubleshoot 按钮,然后点击 Uninstall 卸载。

相关推荐
slient_love36 分钟前
n8n部署安装(docker)、支持Code in Python (Native)节点
python·docker·n8n
jessezappy2 小时前
记录:老电脑安装 Docker 4.40 不支持 WSL 2 时这样处理
docker·容器·wsl·硬件不支持·i5-3470
梁辰兴10 小时前
计算机网络基础:MAC 地址
计算机网络·macos·计算机·mac地址·计算机网络基础·梁辰兴·物理地址
人生匆匆12 小时前
k8s通过域名访问 StatefulSet的pod
云原生·容器·kubernetes
赵文宇(温玉)12 小时前
免费|不限速|不限流量|多架构|容器镜像服务---第1批同步:Docker官方维护的143个library镜像仓库
docker·容器·架构
寂寞旅行13 小时前
k8s实现多人同时使用pod
云原生·容器·kubernetes
工具罗某人14 小时前
docker快速部署redis
redis·docker·容器
杨浦老苏15 小时前
轻量级自托管仪表盘Dashlet
docker·群晖·导航
工具罗某人15 小时前
docker快速部署minio
java·nginx·docker
三不原则16 小时前
实战:Docker+K8s 部署 MNIST 模型,实现 API 调用功能
docker·容器·kubernetes