
vimond/ecr-credentials-refresher该Docker镜像用于在Kubernetes环境中自动刷新AWS凭证,解决跨区域/跨账户访问ECR(Amazon Elastic Container Registry)仓库时的凭证有效性问题。通过定期更新Kubernetes中的凭证信息,确保集群能够持续从任意AWS区域或账户的ECR仓库拉取容器镜像,无需手动干预凭证轮换。
| 环境变量 | 描述 | 示例 | 是否必填 |
|---|---|---|---|
AWS_ACCESS_KEY_ID | AWS访问密钥ID | AKIAEXAMPLE123 | 是 |
AWS_SECRET_ACCESS_KEY | AWS密钥 | secret123example | 是 |
ECR_REGIONS | 需要访问的ECR区域列表(逗号分隔) | us-east-1,us-west-2 | 否(默认当前区域) |
ECR_ACCOUNTS | 需要访问的AWS账户ID列表(逗号分隔) | 123456789012,987654321098 | 否(默认当前账户) |
K8S_SECRET_NAME | 存储凭证的Kubernetes Secret名称 | ecr-credentials | 是 |
K8S_NAMESPACE | Secret所在的Kubernetes命名空间 | default | 否(默认当前命名空间) |
REFRESH_INTERVAL | 凭证刷新间隔(秒) | 3600 | 否(默认3600秒) |
bashdocker run -d \ -e AWS_ACCESS_KEY_ID="AKIAEXAMPLE123" \ -e AWS_SECRET_ACCESS_KEY="secret123example" \ -e ECR_REGIONS="us-east-1,us-west-2" \ -e K8S_SECRET_NAME="ecr-credentials" \ -e REFRESH_INTERVAL="3600" \ --mount type=bind,source=/var/run/kubernetes.sock,target=/var/run/kubernetes.sock \ ecr-credential-refresher:latest
yamlapiVersion: apps/v1 kind: Deployment metadata: name: example-app spec: replicas: 1 template: spec: initContainers: - name: ecr-credential-refresh image: ecr-credential-refresher:latest env: - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: aws-creds key: access-key - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: aws-creds key: secret-key - name: ECR_REGIONS value: "us-east-1,eu-west-1" - name: K8S_SECRET_NAME value: "ecr-pull-secret" containers: - name: main-app image: 123456789012.dkr.ecr.us-east-1.amazonaws.com/example-app:latest imagePullSecrets: - name: ecr-pull-secret
yamlapiVersion: batch/v1 kind: CronJob metadata: name: ecr-credential-refresher spec: schedule: "0 */6 * * *" # 每6小时执行一次 jobTemplate: spec: template: spec: containers: - name: refresher image: ecr-credential-refresher:latest env: - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: aws-creds key: access-key - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: aws-creds key: secret-key - name: ECR_REGIONS value: "us-east-1,us-west-2,eu-central-1" - name: ECR_ACCOUNTS value: "123456789012,987654321098" - name: K8S_SECRET_NAME value: "ecr-pull-secret" restartPolicy: OnFailure
ecr:GetAuthorizationToken权限)



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务