专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/kiwigrid/k8s-sidecar

ghcr.io/kiwigrid/k8s-sidecar:latest

ghcr.iolinux/amd64latest大小: 未知更新于 2026年5月29日

是什么?

这是一个 Docker 容器,旨在在 Kubernetes 集群内运行,用于收集带有指定标签的 config map,并将包含的文件存储在本地文件夹中。它还可以在 configmap 更改后向指定 URL 发送 HTTP 请求。其主要目标是作为 sidecar 容器运行,为应用程序提供来自集群的信息。

为什么?

这是我们将 configmap 或 secret 中的文件提供给服务并在运行时保持其更新的简单方法。

如何使用?

在单个 pod 中使用共享卷运行此仓库创建的容器和您的应用程序。指定应监控的标签以及文件的存储位置。通过添加额外的环境变量,容器可以向指定 URL 发送 HTTP 请求。

镜像位置?

镜像可在以下位置获取:

  • https://hub.docker.com/r/kiwigrid/k8s-sidecar
  • quay.io/kiwigrid/k8s-sidecar
  • https://github.com/orgs/kiwigrid/packages/container/package/k8s-sidecar

所有镜像均为相同的多架构镜像,支持 amd64、arm64 和 arm/v7。

不再支持 ppc64le 和 s390x

在 v2.x 版本中,我们已停止支持 ppc64le 和 s390x 架构。如果您仍需要这些架构,请联系我们。一种可能的解决方案是使用原生运行器而非 qemu 设置专门的构建任务。

名称描述是否必填默认值类型
LABEL用于过滤的标签是-字符串
LABEL_VALUE要过滤资源的标签值。不设置值则按任意值过滤否-字符串
FOLDER文件存放的文件夹是-字符串
FOLDER_ANNOTATIONsidecar在configmap中查找的注解,用于覆盖文件的目标文件夹。注解值可以是绝对路径或相对路径。相对路径将相对于 FOLDER。否k8s-sidecar-target-directory字符串
NAMESPACE逗号分隔的命名空间列表。如果指定,sidecar将在这些命名空间中搜索configmap。也可指定 ALL 以搜索所有命名空间。否sidecar运行所在的命名空间字符串
RESOURCEsidecar监控的资源类型。选项:configmap、secret、both否configmap字符串
RESOURCE_NAME逗号分隔的资源名称列表,由sidecar监控。项目可前缀命名空间和资源类型,例如 secret/resource-name 或 namespace/secret/resource-name。设置此参数后,method 设为 WATCH 将被视为 SLEEP否-字符串
METHOD如果 METHOD 设为 LIST,sidecar将仅列出configmap/secret并退出。设为 SLEEP 时,将列出所有configmap/secret,然后休眠 SLEEP_TIME 秒。其他值将持续监控变更(参见 Kubernetes 文档)。否-字符串
SLEEP_TIME使用 SLEEP 方法时,更新configmap/secret前等待的秒数否60整数
REQ_URLconfigmap/secret重新加载后发送请求的URL否-URI
REQ_METHOD发送到 REQ_URL 的请求方法,GET 或 POST否GET字符串
REQ_PAYLOAD如果使用 REQ_METHOD=POST,可提供JSON payload否-json
REQ_RETRY_TOTAL所有HTTP请求允许的总重试次数(*.url 触发的请求、发送到 REQ_URI 的请求以及K8s API请求)否5整数
REQ_RETRY_CONNECT所有HTTP请求允许的连接相关错误重试次数(*.url 触发的请求、发送到 REQ_URI 的请求以及K8s API请求)否10整数
REQ_RETRY_READ所有HTTP请求允许的读取错误重试次数(*.url 触发的请求、发送到 REQ_URI 的请求以及K8s API请求)否5整数
REQ_RETRY_BACKOFF_FACTOR所有HTTP请求在第二次尝试后应用的退避因子(*.url 触发的请求、发送到 REQ_URI 的请求以及K8s API请求)否1.1float
REQ_TIMEOUT对于 *.url 触发的请求或发送到 REQ_URI 的请求,等待服务器发送数据的秒数(不适用于K8s API请求)否10float
REQ_USERNAME用于 REQ_URL 请求和 *.url 触发请求的基本认证用户名否-字符串
REQ_PASSWORD用于 REQ_URL 请求和 *.url 触发请求的基本认证密码否-字符串
REQ_BASIC_AUTH_ENCODING用户名和密码的编码方式,默认未定义(例如 utf-8)否latin1字符串
REQ_SKIP_INIT使用 WATCH 方法时,设为 true 可跳过启动时对 REQ_URL 的初始请求否false布尔值
SCRIPTconfigmap重新加载后执行的脚本绝对路径。在调用 REQ_URI 之前运行。如果文件不可执行,将传递给 sh;否则直接执行。已知有效的Shebang(Unix)) 为 #!/bin/sh 和 #!/usr/bin/env python否-字符串
ERROR_THROTTLE_SLEEP发生错误时,再次监控资源前等待的秒数否5整数
SKIP_TLS_VERIFY设为 true 可跳过Kube API调用的TLS验证否-布尔值
DISABLE_X509_STRICT_VERIFICATION设为 true 可禁用严格的X.509证书验证(对旧K8s集群有用)。否-布尔值
REQ_SKIP_TLS_VERIFY设为 true 可跳过所有HTTP请求的TLS验证(Kube API服务器除外,由 SKIP_TLS_VERIFY 控制)。否-布尔值
UNIQUE_FILENAMES设为 true 可在同一或多个命名空间的ConfigMap和/或Secret之间存在重复数据键时生成唯一文件名。否false布尔值
DEFAULT_FILE_MODE每个文件的默认文件系统权限。使用三位数字(例如 '500'、'440' 等)否-字符串
KUBECONFIG如果提供且指向文件,或挂载了 ~/.kube/config,则从该文件加载K8s配置;否则尝试使用“incluster”K8s配置。否-字符串
ENABLE_5XX设为 true 可从configmap拉取5XX响应内容。用于文件名以 .url 后缀结尾的情况(请参考此处的 *.url 特性)。否-布尔值
WATCH_SERVER_TIMEOUT向服务器发出的礼貌请求,要求在指定秒数后干净关闭监控连接(https://github.com/kiwigrid/k8s-sidecar/issues/85%EF%BC%89否60整数
WATCH_CLIENT_TIMEOUT如果网络中断导致所有数据包丢失且无RST/FIN,客户端在监控连接上等待多少秒后意识到并断开连接。此值可设为较小数值(https://github.com/kiwigrid/k8s-sidecar/issues/85%EF%BC%89否66整数
IGNORE_ALREADY_PROCESSED忽略已处理的资源版本。避免对未变更的同一资源进行多次检查。要求Kubernetes API >= v1.19否false布尔值
LOG_LEVEL设置日志级别。(DEBUG、INFO、WARN、ERROR、CRITICAL)否INFO字符串
LOG_FORMAT设置日志格式。(JSON 或 LOGFMT)否JSON字符串
LOG_TZ设置日志时区。(LOCAL 或 UTC)否LOCAL字符串
LOG_CONFIG日志配置文件路径。如果未配置,使用默认日志配置以支持向后兼容。未配置时,LOG_LEVEL、LOG_FORMAT 和 LOG_TZ 仍将被应用。否-字符串

健康端点

sidecar 在端口 8080(或由 HEALTH_PORT 配置)上提供 /healthz 健康端点,可用于 Kubernetes 就绪探针和存活探针。该端点兼容 IPv4 和 IPv6(双栈)。

就绪探针

仅当所有配置资源(ConfigMap 和/或 Secret)的初始同步完成后,端点才会返回 HTTP 200 OK。在此之前,它将返回 HTTP 503 Service Unavailable。这可确保主应用容器在其配置完全可用前不会启动或接收流量。

就绪探针配置示例:

readinessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 20
periodSeconds: 5

存活探针

该端点也可用作存活探针,检查以下两个条件:

  1. Kubernetes API 连接:验证 sidecar 在过去 60 秒内已成功连接 Kubernetes API。
  2. 监视线程:确保所有内部监视线程(用于 ConfigMap 和 Secret)正常运行。

如果任何检查失败,端点将返回 HTTP 503 Service Unavailable,指示 Kubernetes 重启容器。

存活探针配置示例:

livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 35
periodSeconds: 10

CI 和发布工作流

本仓库使用三个主要的 GitHub Actions 工作流:

1. 构建和测试(.github/workflows/build_and_test.yaml)

目的: 在本地 kind 集群上对 sidecar 进行端到端测试。

  • 触发器:
    • pull_request
    • workflow_dispatch
  • 功能:
    • 构建 sidecar 的本地 Docker 镜像(不推送到任何 registry)。
    • 构建虚拟服务器镜像。
    • 将两个镜像加载到 kind 集群中。
    • 针对多个 Kubernetes 版本(矩阵)运行综合测试套件。

此工作流不会创建标签、发布版本或将镜像推送到 registry。


2. 发布(.github/workflows/release.yaml)

目的: 构建和发布镜像并创建 GitHub 发布版本。

  • 触发器:
    • 推送到 master 分支且修改了以下文件:
      • src/**
      • Dockerfile
  • 版本控制与标签:
    • 使用 https://github.com/anothrNick/github-tag-action%E3%80%82
    • 默认情况下,每次符合条件的推送会更新补丁版本(例如 2.1.3 → 2.1.4)。
    • 可通过提交消息令牌覆盖版本更新行为:
      • #minor → 次要版本更新
      • #major → 主要版本更新
      • #none → 不更新版本,不构建,不发布
  • 保护条件:
    • 所有构建/推送镜像或创建发布的步骤仅在标签操作报告真实更新时运行(part != '' && part != 'none')。
  • 创建新标签时的操作:
    • 为 sidecar 构建多架构镜像。
    • 将镜像推送到:
      • docker.io/kiwigrid/k8s-sidecar
      • quay.io/kiwigrid/k8s-sidecar
      • ghcr.io/kiwigrid/k8s-sidecar
    • 标签:<version> 和 latest。
    • 构建变更日志。
    • 为新标签创建 GitHub 发布版本。

这可确保:

  • 仅 src/** 或 Dockerfile 中的代码变更会生成新镜像。
  • 现有标签不会重新构建,保持不可变。
  • 仅 CI 或仅文档的变更不会触发发布。

3. 发布工作流测试(.github/workflows/release_test.yaml)

目的: 手动测试发布工作流逻辑(标签、变更日志、镜像构建),不影响真实生产标签。

  • 触发器:
    • workflow_dispatch(仅手动运行)。
  • 标签行为:
    • 使用 github-tag-action,配置如下:
      • DEFAULT_BUMP: patch
      • DRY_RUN: true
    • 这意味着:
      • 始终模拟版本更新。
      • 不会向仓库推送真实标签。
  • 保护条件:
    • 所有类发布步骤仅在标签操作报告真实更新时运行(part != '' && part != 'none'),与生产工作流一致。
  • 功能:
    • 构建并推送标签为 <version>-testing 的测试镜像到 registry。
    • 构建变更日志。
    • 创建标签名为 <version>-testing 的草稿 GitHub 发布版本。

此工作流供维护者以安全方式验证发布流水线的变更(标签、变更日志生成、镜像构建),同时保持生产标签不可变。

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

轩辕镜像支持 docker push 上传本地镜像吗?

不支持 push

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/kiwigrid/k8s-sidecar
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.