实战 | 加速访问镜像

网友投稿 859 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

实战 | 加速访问镜像

访问镜像的目标地址是按镜像地址中主机部分来寻址,缺省时是hub.docker.com,考虑到很多私有化部署时下载镜像速度过慢。访问过慢的原因无外乎,资源在国外或者私有化出口网络资源过窄。目录一、切换到镜像站二、下载到私有库2.1 手动2.2 image-syncer三、使用代理通道3.1 系统代理3.2 工具代理现整理常用加速方式切换到镜像站下载到私有库使用代理通道一、切换到镜像站 镜像站会将目标源站的资源缓存起来,并优化分发速度。我们常使用的镜像站阿里registry.aliyun.com腾讯网易教育二、下载到私有库 在私有网络环境自建存储库,常用存储库Harbor。从外部将镜像站下载并上传至私有存储库。2.1 手动将外部镜像产物拉到私有环境缓存起来下载脚本#!/bin/bash## usage#  pull_image_to_local.sh kubernetesui/metrics-scraper:v1.0.7#  pull_image_to_local.sh registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.0#  pull_image_to_local.sh nginx:1.21.4 third## explain#  docker pull kubernetesui/metrics-scraper:v1.0.7#  docker tag kubernetesui/metrics-scraper:v1.0.7 hub.8ops.top/google_containers/metrics-scraper:v1.0.7#  docker push hub.8ops.top/google_containers/metrics-scraper:v1.0.7#  docker rmi kubernetesui/metrics-scraper:v1.0.7#  docker rmi hub.8ops.top/google_containers/metrics-scraper:v1.0.7#set -esrc=$1dst=$2harbor=hub.8ops.top[ -z ${dst} ] && dst=google_containersdocker pull ${src}docker tag ${src} `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`docker push `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`docker rmi ${src}docker rmi `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`2.2 image-syncerimage-syncer是个不错的工具auth.json{  "hub.8ops.top": {    "username": "",    "password": ""  }}images.json{  "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.0": "hub.8ops.top/google_containers/kube-apiserver",  "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.0": "hub.8ops.top/google_containers/kube-controller-manager",  "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.0": "hub.8ops.top/google_containers/kube-scheduler",  "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.0": "hub.8ops.top/google_containers/kube-proxy",  "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.8.6": "hub.8ops.top/google_containers/coredns",  "registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0": "hub.8ops.top/google_containers/etcd",  "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6": "hub.8ops.top/google_containers/pause"}需要存在项目 hub.8ops.top/google_containers ,否则会出现同步不成功情况image-syncer --auth=auth.json --images=images.json --arch=amd64 --os=linux一定要指定arch,否则会同步非预期的arch镜像产物过来三、使用代理通道 原理是网络层面的代理访问。3.1 系统代理从系统层面使用网络代理export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:78903.2 工具代理在下载镜像的位置使用网络代理加速访问速度。常用的位置dockerdcontainerd# ~/.docker/config.json{ "proxies": {   "default":   {     "httpProxy": "http://192.168.1.12:3128",     "httpsProxy": "http://192.168.1.12:3128",     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"   } }}

上一篇:软件测试培训之测试人员解决问题的8种职业能力
下一篇:软件测试培训之测试管理方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~