Я пробовал https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/, и решение в кодировке base 64 в файле yaml (что, в конечном счете, мне и нужно) не проверяет подлинность.(очевидно, это распространенная проблема, и если у кого-то есть файл yaml, у которого он работает, я хотел бы увидеть его или метод, который позволяет безопасное развертывание из частного репозитория, просто чтобы мы не застряли в проблеме xy)
Поэтому я попробовал следующее:
kubectl create secret generic registrykey --from-file=.dockerconfigjson=/home/dbosh/.docker/config.json --type=kubernetes.io/dockerconfigjson
с файлом развертывания:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my_deployment
spec:
selector:
matchLabels:
app: my_deployment
tier: backend
track: stable
replicas: 7
template:
metadata:
labels:
app: my_deployment
tier: backend
track: stable
spec:
containers:
- name: my_deployment
image: "my_private_repo:image_name"
ports:
- name: http
containerPort: 8082
imagePullSecrets:
- name: registrykey
Однако, когда я пытаюсь развернуть, я сохраняюПолучив, что «вытянуть доступ запрещен для my_private_repo, хранилище не существует или может потребовать« вход в Docker ».
Теперь, чтобы создать файл входа в докер, я действительно вошел в систему и снова протестировал вход в систему непосредственно перед восстановлением секрета, а затем повторным развертыванием, и он все еще не аутентифицируется.
Любая помощь приветствуетсяпожалуйста.
ОБНОВЛЕНИЕ (благодаря полезному комментарию):
Может показаться, что мой config.json после входа выглядит примерно так:
cat .docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (linux)"
},
"credsStore": "secretservice"
Это, кажется, не содержит токен.Я сгенерировал это, запустив docker login
и предоставив свои учетные данные.Любые идеи кто-нибудь?