docker-image-syncer

无论是在学习k8s还是正式环境部署k8s中,第一步安装k8难倒了各大英雄好汉。原因是k8s 各种组件镜像在谷歌服务器上(k8s.gcr.io),而我们有墙的存在,所以会经常性的下载失败。解决办法是搭梯子,或者是使用其他镜像源。

本仓库使用 aliyun image-syncer 配合 github action 同步 k8s docker镜像(k8s.gcr.io) 到 dockerhub。提高k8s docker镜像(k8s.gcr.io)成功率,解决云原生第一大难题。

docker-image-syncer 运行原理

  1. docker pull 下拉所需镜像

    由于github action 运行再国外的github服务器的,没有qiang一说,docker pull 是很方便的

  2. docker tag 修改镜像tag

  3. docker push 推送镜像到相应docker register

Getting Started

1. 方式一

提交 PR ,和合并到 main 分支之后,自动执行github action同步到 dockerhub

2. 方式二

2.1、fork 这个仓库, 创建你自己的docker register 账号密码:

    1. Settings
    1. Secrets
    1. New Repository Secrets
    1. Add your DOCKER_USERNAME and DOCKER_PASSWORD key values.

2.2、修改images.json 文件,改成你需要的

{"quay.io/coreos/kube-rbac-proxy": "admin4j/kube-rbac-proxy","k8s.gcr.io/metrics-server/metrics-server": "admin4j/metrics-server","k8s.gcr.io/ingress-nginx/controller": "admin4j/ingress-nginx-controller","k8s.gcr.io/git-sync/git-sync": "admin4j/git-sync","gcr.io/kaniko-project/executor:debug,latest": "admin4j/kaniko-executor","k8s.gcr.io/kube-state-metrics/kube-state-metrics": "admin4j/kube-state-metrics","k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner": "admin4j/nfs-subdir-external-provisioner","k8s.gcr.io/prometheus-adapter/prometheus-adapter": "admin4j/prometheus-adapter","k8s.gcr.io/kube-apiserver": "admin4j/kube-apiserver","k8s.gcr.io/kube-controller-manager": "admin4j/kube-controller-manager","k8s.gcr.io/kube-scheduler": "admin4j/kube-scheduler","k8s.gcr.io/kube-proxy": "admin4j/kube-proxy","k8s.gcr.io/pause": "admin4j/pause","k8s.gcr.io/etcd": "admin4j/etcd","coredns/coredns": "admin4j/coredns"
}

修改auth.json,可以添加其他 docker register源

{"registry.hub.docker.com": {"username": "${USERNAME}","password": "${PASSWORD}"}
}

2.3、检查 action logs

Action 执行完后,检查成果

dockerhub

k8s使用镜像

  1. 方式一
# 在安装kubernetes集群之前,必须要提前准备好集群需要的镜像,所需镜像可以通过下面命令查看
[root@master ~]# kubeadm config images list# 下载镜像
# 此镜像在kubernetes的仓库中,由于网络原因,无法连接,下面提供了一种替代方案
images=(kube-apiserver:v1.23.15kube-controller-manager:v1.23.15kube-scheduler:v1.23.15kube-proxy:v1.23.15pause:3.6etcd:3.5.1-0coredns/coredns:v1.8.6
)for imageName in ${images[@]} ; dodocker pull admin4j/$imageNamedocker tag admin4j/$imageName         k8s.gcr.io/$imageNamedocker rmi admin4j/$imageName
done
  1. 方式二

    直接修改 yml 部署文件的 image 属性

仓库地址

https://github.com/admin4j/docker-imager-sync
https://github.com/AliyunContainerService/image-syncer
https://hub.docker.com/repositories/admin4j

k8s镜像下载不下来?利用 github Action 自己动手一次性解决难题,丰衣足食相关推荐

  1. 基于阿里云容器镜像服务加速K8S镜像下载(二)

    简单说明 在<基于阿里云容器镜像服务加速K8S镜像下载>中介绍了使用阿里云镜像服务来解决一些不可达镜像的下载 但是需要反复在阿里云容器镜像控制台添加仓库,这种操作实在太傻,是电脑这头蠢驴该 ...

  2. 利用Github Action运行latexdiff,在overleaf上自动生成修订文件

    目录 前言 1. 从github 导入项目到overleaf中 配置github action 使用流程 前言 overleaf是大家经常使用的论文协作编辑平台,对于有协作编辑需求.本地编译慢.懒得配 ...

  3. 基于阿里云容器镜像服务加速K8S镜像下载

    简单说明: 部署K8S最大的难题是镜像下载 可以使用阿里云容器镜像服务由海外机器构建 国内同时可以使用阿里云的镜像加速器加速镜像下载 仅需要将含有相关镜像的Dockerfile提交到阿里云即可 申请云 ...

  4. 京东自动签到(利用github实现)+Cookie失效解决办法

    京东自动签到 https://ruicky.me/2020/06/05/jd-sign/ 参考上面这篇文章,就不转载过来了,原文已经写的很详细了. 但自己实践时Sevrer酱提示Cookie失效,同时 ...

  5. K8S 生态周报| Docker V2 GitHub Action 宣布 GA

    「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息.欢迎订阅知乎专栏「k8s生态」[1]. Docker V2 GitHub Action 已 GA Docker ...

  6. k8s.gcr.io、gcr.io仓库的镜像下载

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 获取这类镜像的方法一般有2种: 1.通过拉取国内镜像仓库的内容(操作简单直接拉取即可,缺点是镜像的版本更新可能较慢,可能无法获取最新的镜像) 2 ...

  7. 机器学习笔记的github镜像下载(github个人star数量排名175)

    黄海广博士在github开源了机器学习及深度学习个人笔记,成为热门项目,详情报道见文章.其中机器学习笔记10000+star,深度学习笔记7200+star.个人star数量23310,排名githu ...

  8. 【资料】机器学习笔记的github镜像下载(github个人star数量排名175)

    黄海广博士在github开源了机器学习及深度学习个人笔记,成为热门项目,详情报道见文章.其中机器学习笔记10000+star,深度学习笔记7200+star.个人star数量23310,排名githu ...

  9. GitHub与Git区别,Git与SVN区别,Git国内镜像下载

    GitHub 又称 GayHub,作为众多开源代码的汇集地,名副其实被誉为全球最大的同性交友社区.我们在这里上传和下载代码,GitHub进行远程托管,拥有代码管理权的人可以对版本和内容进行控制,极大的 ...

最新文章

  1. 系统管理-第1部分 系统的易管理性
  2. matlab求图形的聚类系数,求助,为什么画不出来聚类系数的图?一直为0啊
  3. SharpDevelop源码分析 (一、序+基本概念) 收藏
  4. 在visual studio code中配置python以及解决中文乱码问题
  5. 还没使用过Web Worker? 推荐一款开源工具Workerize-Loader,让你在webpack项目中轻松使用Web Worker
  6. T60 改LED 高压板连线方式。
  7. 修改php.ini以达到 屏蔽错误信息
  8. 基于python的销售系统_python实现超市商品销售管理系统
  9. 图形学基础--深入浅出的微积分书籍 《普林斯顿微积分读本》和《托马斯微积分》
  10. 隧道监控计算机网络系统方案,高速公路隧道监控系统解决方案
  11. MT2503处理器性能介绍,MT2503/MT2503A/MT2503D芯片资料下载
  12. 服务器系列和酷睿系列,至强cpu与酷睿两个系列之间有什么区别?
  13. 截止失真放大电路_每周经典电路分析:一个经典实际运放的内部电路分析(1)
  14. 明天更美好,世界有你更精彩!
  15. MarkDown一些有用的小技巧
  16. mt4交易软件云服务器_MT4交易软件的使用教程及快捷键
  17. OpenGL中显示背景贴图
  18. SAP第四代增强 BTE
  19. go1.17+中的GOPATH
  20. 红旗linux操作系统怎样,红旗linux操作系统应该怎么用

热门文章

  1. BUUCTF misc 专题(67)[HBNIS2018]caesar
  2. 8086指令系统(一)数据传送指令
  3. 【学习笔记】专业术语
  4. STM32利用中断实现LED亮灭和串口通信的收发
  5. Python问题:SyntaxError: Non-ASCII character '\xe3' in file
  6. 前端工程配置Nginx反向代理
  7. 点击表格列变色,让表格的偶数排变色,点击表格的行让其变色
  8. 001:Pell数列
  9. PowerPoint演示文稿软件的使用-专项训练1
  10. HMI-20-[刷新问题]解决界面刷新卡顿问题