尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

突破Docker Hub限制:awx-on-k3s私有容器registry部署与配置

突破Docker Hub限制:awx-on-k3s私有容器registry部署与配置
📅 发布时间:2026/7/30 23:57:45

突破Docker Hub限制:awx-on-k3s私有容器registry部署与配置

【免费下载链接】awx-on-k3sAn example implementation of AWX on single node K3s using AWX Operator, with easy-to-use simplified configuration with ownership of data and passwords.项目地址: https://gitcode.com/gh_mirrors/aw/awx-on-k3s

Docker Hub的拉取限制常常让开发者头疼不已,特别是在使用awx-on-k3s部署AWX时,频繁的镜像拉取很容易触发Docker Hub的速率限制,导致部署失败或中断。本文将详细介绍如何在awx-on-k3s项目中部署和配置私有容器registry,彻底解决Docker Hub限制问题,让你的AWX部署更加顺畅和自主。

为什么需要私有容器registry?

当你按照awx-on-k3s仓库的步骤部署AWX时,对Docker Hub的拉取请求会被识别为免费匿名账户,因此每6小时只能请求200次。当出现"429 Too Many Requests"消息时,说明已超出限制。此时,部署一个私有容器registry就成了理想的解决方案,它不仅能突破Docker Hub的限制,还能让你完全掌控自己的镜像数据和访问权限。

私有容器registry部署步骤

准备必要文件

首先,生成自签名证书,注意不能指定IP地址:

REGISTRY_HOST="registry.example.com" openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out ./registry/tls.crt -keyout ./registry/tls.key -subj "/CN=${REGISTRY_HOST}/O=${REGISTRY_HOST}" -addext "subjectAltName = DNS:${REGISTRY_HOST}"

修改registry/ingress.yaml中的hosts和host字段,将registry.example.com替换为你的域名:

... - hosts: - registry.example.com 👈👈👈 secretName: registry-secret-tls rules: - host: registry.example.com 👈👈👈 ...

生成htpasswd字符串,用于容器registry的用户认证:

$ kubectl run htpasswd -it --restart=Never --image httpd:2.4 --rm -- htpasswd -nbB reguser Registry123! reguser:$2y$05$VLMvcWCPF0VUuHi0BXBz7eoXGZ6KRl1gataiqTXz4DdSVIXGloKiq pod "htpasswd" deleted

将生成的htpasswd字符串替换到registry/configmap.yaml中:

... htpasswd: |- reguser:$2y$05$VLMvcWCPF0VUuHi0BXBz7eoXGZ6KRl1gataiqTXz4DdSVIXGloKiq 👈👈👈 ...

创建Persistent Volumes所需的目录:

sudo mkdir -p /data/registry
部署私有容器registry

执行以下命令部署私有容器registry:

kubectl apply -k registry

部署完成后,检查registry命名空间下的资源:

$ kubectl -n registry get all,ingress NAME READY STATUS RESTARTS AGE pod/registry-7457f6c64b-sxqfp 1/1 Running 0 9s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/registry-service ClusterIP 10.43.15.228 <none> 5000/TCP 9s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/registry 1/1 1 1 9s NAME DESIRED CURRENT READY AGE replicaset.apps/registry-7457f6c64b 1 1 1 9s NAME CLASS HOSTS ADDRESS PORTS AGE ingress.networking.k8s.io/registry-ingress <none> registry.example.com 192.168.0.221 80, 443

现在,你的容器registry可以通过指定的主机名(如registry.example.com)使用了。

私有容器registry测试

Docker测试

将你的registry添加为不安全的registry,并重启Docker守护进程:

sudo tee /etc/docker/daemon.json <<EOF { "insecure-registries" : ["registry.example.com"] } EOF sudo systemctl restart docker

登录到你的容器registry:

$ docker login registry.example.com Username: reguser Password: WARNING! Your password will be stored unencrypted in /home/********/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

测试镜像推送和拉取:

# 从docker.io拉取镜像 docker pull docker.io/docker/whalesay:latest # 标记为私有registry上的镜像 docker tag docker.io/docker/whalesay:latest registry.example.com/reguser/whalesay:latest # 推送到私有registry docker push registry.example.com/reguser/whalesay:latest # 删除本地镜像 docker image rm docker.io/docker/whalesay:latest docker image rm registry.example.com/reguser/whalesay:latest # 从私有registry拉取镜像 docker pull registry.example.com/reguser/whalesay:latest # 运行测试容器 docker run -it --rm registry.example.com/reguser/whalesay:latest cowsay hoge
深入了解Registry

使用reg工具可以更深入地管理容器registry:

# 安装reg sudo curl -fSL https://github.com/genuinetools/reg/releases/download/v0.16.1/reg-linux-amd64 -o /usr/local/bin/reg sudo chmod +x /usr/local/bin/reg # 列出registry中的仓库和标签 reg ls -k registry.example.com reg tags -k registry.example.com/reguser/whalesay # 删除registry中的标签 reg rm -k registry.example.com/reguser/whalesay:latest

配置AWX或K3s使用私有容器registry

这个私有registry不仅可以用作AWX的Execution Environment存储库,还可以作为K3s的私有registry。

配置步骤

创建registries.yaml并重启K3s:

sudo tee /etc/rancher/k3s/registries.yaml <<EOF configs: registry.example.com: auth: username: reguser password: Registry123! tls: insecure_skip_verify: true EOF # 安全重启K3s服务,不会影响正在运行的资源 sudo systemctl restart k3s

检查应用的配置:

sudo $(which k3s) crictl info # 使用jq查看 sudo $(which k3s) crictl info | jq .config.registry

如果希望Kubernetes能够直接从这个私有registry拉取镜像,除了在registries.yaml中写入凭据外,还可以为Pod手动创建imagePullSecrets。关于如何使用ImagePullSecrets,另一篇关于Docker Hub速率限制的指南中有详细解释。

测试配置

使用需要身份验证的私有仓库中的镜像启动Pod:

$ kubectl run whalesay -it --restart=Never --image registry.example.com/reguser/whalesay:latest --rm -- cowsay hoge ______ < hoge > ------ \ \ \ ## . ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/ pod "whalesay" deleted

通过以上步骤,你已经成功部署并配置了awx-on-k3s的私有容器registry,彻底突破了Docker Hub的限制。现在,你可以更自由地管理和使用容器镜像,确保AWX部署和运行的稳定性。

如果你在使用过程中遇到任何问题,可以参考项目中的tips/troubleshooting.md文档获取帮助。同时,tips/dockerhub-rate-limit.md中也提供了更多关于处理Docker Hub速率限制的方法。

希望这篇指南能帮助你顺利搭建自己的私有容器registry,享受更顺畅的AWX部署体验! 🚀

【免费下载链接】awx-on-k3sAn example implementation of AWX on single node K3s using AWX Operator, with easy-to-use simplified configuration with ownership of data and passwords.项目地址: https://gitcode.com/gh_mirrors/aw/awx-on-k3s

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • 如何掌握Magisk实战:Android系统Root与定制的完整进阶指南
  • 【万字文档+源码】 基于springboot+vue学生信息管理系统-可用于毕设-课程设计-练手学习-学习资料分享
  • LLM微服务架构评审全链路解析,从Prompt注入到推理延迟的11个关键审查节点

最新新闻

  • HEIF Utility:3分钟解决iPhone照片在Windows上的兼容难题
  • 数据孤岛的代价,远比你想的更重
  • 论贾子理论作为统一真理体系的范式革命——基于“公理驱动—本质贯通—万物统一“的跨学科研究
  • 2026年转向架磁粉探伤设备定制厂家怎么选择 - 热点品牌推荐
  • 找镇海金属防护罩钣金供应商?看准这几点更省心 - 热点品牌推荐
  • 2026 年酒泉诚信的玻璃棉管生产商找哪家,家里藏着这玩意儿,冬天暖气不白烧还能省一半电费,你真的不用? - 行业严选官

日新闻

  • 7步掌握KMS智能激活工具:Windows和Office永久激活完整方案
  • 如何在Windows上运行iOS应用:ipasim跨平台模拟器终极指南
  • 2026年重庆工伤赔偿律师口碑推荐:洪家木律师用专业赢得信赖 - 本地品牌推荐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号