- 22, Oct 2024
- #1
Я пытаюсь получить частный образ из репозитория реестра артефактов в Google Cloud из кластера Kubernetes, работающего в другом проекте Google Cloud, с помощью kubectl.
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
Учетной записи службы для kubernetes уже предоставлены разрешения arteregistry.reader и Storageobject.viewer, поскольку изображение находится в другом проекте, отличном от учетной записи службы kubernetes.
Я применяю приведенный ниже yaml к команде kubectl.
kubectl применить -f proxy_with_workload_identity.yaml
kubernetes version 1.20.15-gke.1000
Образ cloud-sql-proxy извлекается, и контейнер работает, но образ в частном репозитории не извлекается "us-central1-docker.pkg.dev/myproject/docker-repo/test-app:v1 "
когда я проверяю модули, мне отображается эта ошибка:
#docker #kubernetes #google-cloud-platform #google-kubernetes-engine