Сегодня мой первый день игры с GCR и GKE.Прошу прощения, если мой вопрос звучит по-детски.
Итак, я создал новый реестр в GCR.Это личное.Используя эту документацию, я получил свой токен доступа с помощью команды
gcloud auth print-access-token
#<MY-ACCESS_TOKEN>
Я знаю, что мое имя пользователя oauth2accesstoken
на локальном ноутбуке, когда япопробуй
docker login https://eu.gcr.io/v2
Username: oauth2accesstoken
Password: <MY-ACCESS_TOKEN>
Я получу:
Login Successful
Так что теперь пришло время создать секрет docker-registry
в Кубернетесе.
Я выполнил следующую команду:
kubectl create secret docker-registry eu-gcr-io-registry --docker-server='https://eu.gcr.io/v2' --docker-username='oauth2accesstoken' --docker-password='<MY-ACCESS_TOKEN>' --docker-email='<MY_EMAIL>'
И тогда мое определение Pod выглядит следующим образом:
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: my-app
image: eu.gcr.io/<my-gcp-project>/<repo>/<my-app>:latest
ports:
- containerPort: 8090
imagePullSecrets:
- name: eu-gcr-io-registry
Но когда я раскручиваю стручок, я получаю ОШИБКУ:
Warning Failed 4m (x4 over 6m) kubelet, node-3 Failed to pull image "eu.gcr.io/<my-gcp-project>/<repo>/<my-app>:latest": rpc error: code = Unknown desc = Error response from daemon: unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
Я подтвердил свои секретыпроверка файла YAML и выполнение base64 --decode
на .dockerconfigjson
, и это правильно.
Так что я здесь пропустил?