
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像旨在为Kubernetes Pod的整个生命周期内,保持Vault认证令牌和密钥租约的有效性。它应作为sidecar容器运行,适用于那些不感知Vault、仅在启动时注入密钥且无法动态更新的服务容器,允许公共Docker镜像无需修改即可与Vault集成。
Vault的设计原则是确保密钥仅在需要时可用,因此大多数Vault密钥引擎(如Consul Secrets Engine)会在一段时间(TTL)后吊销已发放的密钥,以限制密钥泄露后的使用窗口。密钥可通过续期避免过期,但这是一个持续过程。本镜像作为同一Pod内的sidecar,定期检查认证令牌和密钥租约是否需要续期,并在必要时执行续期操作,确保密钥在Pod生命周期内始终有效。Pod终止后,认证令牌和密钥将自然过期。
本镜像可与https://github.com/WealthWizardsEngineering/kube-vault-auth-init%E9%95%9C%E5%83%8F%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%90%8E%E8%80%85%E8%B4%9F%E8%B4%A3%E5%90%91Vault%E8%AE%A4%E8%AF%81%E5%B9%B6%E6%8F%90%E4%BE%9B%E5%B0%86%E5%AF%86%E9%92%A5%E6%B3%A8%E5%85%A5%E6%9C%8D%E5%8A%A1%E5%AE%B9%E5%99%A8%E7%9A%84%E6%9C%BA%E5%88%B6%E3%80%82
该容器需要一个有效的Vault认证令牌作为环境变量,且其TTL需与本容器的续期间隔相匹配。
若使用Kubernetes Vault Auth Init初始化容器,以下变量将从/env/variables读取(需在init容器与本容器间挂载共享卷到/env路径):
consul/creds/my-role/619ceafd-9968-b338-2d3e-93c987654321,consul/creds/my-role/619ceafd-9968-b338-2d3e-93c123456789为避免认证令牌或密钥过期,需确保其TTL超过续期间隔加上一定 tolerance。建议将TTL设置为至少2-3倍的RENEW_INTERVAL。此外,租约创建时间的微小差异可能导致需多等待一个周期才续期,因此应避免TTL在续期周期前几秒过期的情况。
以下示例展示了如何结合Kubernetes Vault Auth Init容器和本sidecar容器部署应用:
yamlapiVersion: v1 kind: ServiceAccount metadata: name: my-app-service-account --- kind: Deployment apiVersion: extensions/v1beta1 metadata: name: my-app spec: template: metadata: labels: app: my-app tier: backend spec: serviceAccountName: my-app-service-account volumes: - name: shared-data emptyDir: {} initContainers: - name: vault-init image: wealthwizardsengineering/kube-vault-auth-init env: - name: KUBERNETES_AUTH_PATH value: "kubernetes" - name: VAULT_ADDR value: "[***]" - name: VAULT_LOGIN_ROLE value: "my-app-role" - name: SECRET_SOME_SECRET value: "secret/from/somewhere" volumeMounts: - name: shared-data mountPath: /env containers: - name: vault-renewer image: wealthwizardsengineering/kube-vault-auth-renewer env: - name: VAULT_ADDR value: "[***]" volumeMounts: - name: shared-data mountPath: /env - name: my-app image: my-app command: ["/bin/sh", "-c", "source /env/variables; ./run-my-app.sh"] volumeMounts: - name: shared-data mountPath: /env
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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