如何快速部署k8s-image-swapper:Helm一行命令实现ECR镜像自动镜像(新手保姆级教程) 如何快速部署k8s-image-swapperHelm一行命令实现ECR镜像自动镜像新手保姆级教程【免费下载链接】k8s-image-swapperMirror images into your own registry and swap image references automatically.项目地址: https://gitcode.com/gh_mirrors/k8s/k8s-image-swapperk8s-image-swapper是一个 Kubernetes Mutating Webhook能把集群中所有第三方容器镜像自动镜像mirror到你自己的 ECR / GCP 镜像仓库并在 Pod 创建时无缝替换镜像引用。本文手把手带你用Helm 一行命令完成部署实现 ECR 镜像自动同步全程无需修改任何 Deployment YAML。 为什么需要镜像自动同步日常使用 Kubernetes 时Pod 往往直接拉取 docker.io、quay.io 等外部公共仓库的镜像。k8s-image-swapper 帮你集中解决以下痛点️抵御外部仓库故障quay.io 宕机、docker.io 限流时集群照常运行️防止镜像被篡改或删除镜像落到自己仓库后版本完全可控降低网络流量成本同一镜像只需从公网拉一次后续节点从自建仓库拉取适配离线air-gapped环境无需改动清单即可使用工作原理Webhook 如何自动替换镜像引用整个流程对使用者完全透明你提交 Pod / Deployment镜像仍是nginx这类原始地址Kubernetes API Server 将请求交给 k8s-image-swapper 这个 Mutating Webhook它在后台异步复制镜像到目标仓库仓库不存在会自动创建并把 Pod 里的镜像地址改写成新仓库地址节点最终从你自己的 ECR / GCP 仓库拉取镜像核心逻辑见 pkg/webhook/image_swapper.goECR 仓库的具体实现见 pkg/registry/ecr.go。部署前准备5 分钟完成权限与凭证配置以 AWS ECR 为目标仓库为例只需三步选定命名空间如kube-system或operations并确认它已存在创建 IAM 用户如k8s-image-swapper并授予创建 ECR 仓库、上传镜像的权限完整 IAM 策略可参考官方部署文档 docs/getting-started.md把密钥存入 K8s Secretkubectl create secret generic k8s-image-swapper-aws \ --from-literalaws_access_key_id你的AccessKeyID \ --from-literalaws_secret_access_key你的SecretKey 如果你使用 EKS也可以用 Service Account WebIdentity IAM Role 的方式免管密钥Helm 参数会相应换成 Service Account 注解。Helm 一行命令部署 k8s-image-swapper先添加 estahn 的 Helm Chart 仓库并执行helm repo update仓库地址见 docs/getting-started.md 的 Helm 章节然后用下面一行命令完成安装与配置helm install k8s-image-swapper estahn/k8s-image-swapper \ --set config.target.aws.accountId123456789012 \ --set config.target.aws.regionap-southeast-2 \ --set awsSecretNamek8s-image-swapper-aws参数说明config.target.aws.accountId目标 ECR 所属的 AWS 账号 IDconfig.target.aws.region目标 ECR 所在区域如ap-southeast-2awsSecretName上一步创建的 AWS 凭证 Secret 名称GCP 用户切换 Artifact Registry 只需改 target如果你使用 GCP把target.type改为gcp即可所有镜像会集中存放在一个Artifact Registry 仓库中target: type: gcp gcp: location: us-central1 projectId: gcp-project-123 repositoryId: main部署后验证确认镜像已成功同步查看 Pod 是否就绪kubectl get pods -n kube-system部署一个使用公共镜像如nginx的测试 Pod打开 ECR 控制台能看到自动创建的仓库——命名规则是源仓库作前缀例如nginx→docker.io/library/nginx如果目标仓库是 GCP Artifact Registry控制台中会看到如下镜像列表新手必改的 2 个配置项配置文件为.k8s-image-swapper.yaml建议先调整以下两项dryRun: true # 试运行只记录不真正复制/改写镜像验证行为 logLevel: debug # 调试日志方便排查dryRun验证无误后改为false正式生效完整选项如imageSwapPolicy、imageCopyPolicy、JMESPath 过滤规则等见 docs/configuration.md常见问题快速排查FAQ改了配置不生效配置变更不会热加载需要滚动重启 PodWebhook 挂了怎么办失败策略默认为Ignore集群会像没装它一样继续工作目标仓库里没有这个镜像行为由imageCopyPolicy/imageSwapPolicy决定详见 docs/configuration.mdsidecar 镜像没被替换可开启webhook.reinvocationPolicy: IfNeeded更多问题见 docs/faq.md。 项目文档与源码导航内容路径部署指南Helm / Terraform / IAMdocs/getting-started.md完整配置选项docs/configuration.mdWebhook 核心逻辑pkg/webhook/image_swapper.go从 K8s 读取拉取凭证pkg/secrets/kubernetes.go端到端测试test/e2e_test.go想浏览完整源码可以克隆仓库git clone https://gitcode.com/gh_mirrors/k8s/k8s-image-swapper按本文操作从安装到镜像自动同步 ECR 全程不到 10 分钟。部署完成后你的集群就拥有了抗仓库故障、抗限流的镜像保险柜 【免费下载链接】k8s-image-swapperMirror images into your own registry and swap image references automatically.项目地址: https://gitcode.com/gh_mirrors/k8s/k8s-image-swapper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/9/25 12:45:43
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/24 14:25:52
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/26 3:42:08
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/9/26 11:37:29
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/26 4:08:27
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/25 15:49:36

日新闻

周新闻