首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google中不同项目中的ImagePullBackOff错误提取码头图像

Google中不同项目中的ImagePullBackOff错误提取码头图像
EN

DevOps用户
提问于 2022-04-17 18:05:48
回答 1查看 288关注 0票数 0

我正在尝试从Google中的中提取一个私有映像,它是在一个使用kubectl的不同Google项目中运行的kubernetes集群中运行的。

代码语言:javascript
复制
kubernetes version 1.20.15-gke.1000 

kubernetes的服务帐户已被授予artifactregistry.reader和storageobject.viewer权限,因为映像位于与kubernetes服务帐户不同的项目中。

我将下面的yaml应用于kubectl命令。

库贝克尔应用-f proxy_with_workload_identity.yaml

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-app
spec:
  selector:
    matchLabels:
      app: app-project
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: app-project
    spec:
      containers:
        - env:
            - name: DB_USER
              valueFrom:
                secretKeyRef:
                  key: username
                  name: db-credentials
            - name: DB_PASS
              valueFrom:
                secretKeyRef:
                  key: password
                  name: db-credentials
            - name: DB_NAME
              value: postgres
          image: "us-central1-docker.pkg.dev/myproject/docker-repo/test-app:v1" 
          name: app-project
          ports:
            - containerPort: 9376
              protocol: TCP
        - command:
            - /cloud_sql_proxy 
            - "-instances=demo-dev:us-central1:1-sql-1=tcp:5432"
          image: "gcr.io/cloudsql-docker/gce-proxy:latest"
          name: cloud-sql-proxy
          resources:
            requests:
              cpu: 200m
              memory: 32Mi
          securityContext:
            runAsNonRoot: true
      serviceAccountName: testapp

云-sql-代理映像正在被提取,容器正在运行,但是私有存储库中的映像没有被提取"us-central1-docker.pkg.dev/myproject/docker-repo/test-app:v1“。

当我检查吊舱时,会发现以下错误:

EN

回答 1

DevOps用户

发布于 2022-05-26 12:31:59

似乎您需要在同一个命名空间中添加一个拉秘密(似乎您使用的是默认名称空间)。

命令:

代码语言:javascript
复制
kubectl create secret docker-registry <your secret name like myregistry-docker-secret> --docker-server=<your-registry-server like us-central1-docker.pkg.dev> --docker-username=<your registry username> --docker-password=<your registry password> --docker-email=<your-email>

参考文献:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

那么你的舱单应该看起来像

代码语言:javascript
复制
.....
    spec:
      imagePullSecrets:
        - name: <your secret name like myregistry-docker-secret>
      containers:
        - env:
......
票数 0
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/15814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档