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 卸载。

相关推荐
tb_first13 分钟前
k8sday09
linux·云原生·容器·kubernetes
稚辉君.MCA_P8_Java1 小时前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
天上掉下来个程小白2 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
星霜笔记6 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
数据知道9 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
40kuai15 小时前
kubernetes中数据存储etcd
容器·kubernetes·etcd
敲上瘾15 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
Harvey_D17 小时前
【部署K8S集群】 1、安装前环境准备配置
云原生·容器·kubernetes
伊成17 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器
落日漫游18 小时前
K8s核心组件全解析
运维·docker·运维开发