добавил пользователя этого репозитория:
imaxraf@cloudshell:~ (elevated-apex-327012)$ kubectl get secret myprivateregistry --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode
{"auths":{"https://gitlab.domain-ko.ru:8443":{"username":"k8s","password":"--------","auth":"azhzOjVIbW1kbThyYW42IQ=="}}}
Далее создаю деплоймент
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
run: myapp
template:
metadata:
labels:
run: myapp
spec:
containers:
- name: myapp
image: gitlab.domain-ko.ru:8443/k8s/k8s-conf-demo:latest
imagePullPolicy: Always
env:
- name: HTTP_PORT
value: "8081"
ports:
- containerPort: 8081
imagePullSecrets:
- name: myprivateregistry
Применяю его и после применения получаю ошибку, что докер-образ не найден.
Тоже самое делаю напрямую, то есть docker pull и спокойно получаю образ.
Получается дело в секрете. У кого-нибудь есть соображения?
ты секрет кредов создавал как в мане https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials ?
Нет. Секрет я создал так kubectl create secret docker-registry myprivateregistry --docker-server=https://gitlab.domain-ko.ru:8443 --docker-username=k8s --docker-password=<PASSWORD>
что за ошибка в дескрайбе пода?
Хм... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning Failed 5m29s (x627 over 140m) kubelet Error: InvalidImageName Warning InspectFailed 37s (x649 over 140m) kubelet Failed to apply default image tag "https://gitlab.domain-ko.ru:8443/k8s/k8s-conf-demo:latest": couldn't parse image reference "https://gitlab.domain-ko.ru:8443/k8s/k8s-conf-demo:latest": invalid reference format
у тебя в имени образа указано https://<имя образа> ? Если да, то убери https://
https автоматом добавляется. В yaml у меня так apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: selector: matchLabels: run: myapp template: metadata: labels: run: myapp spec: containers: - name: myapp image: gitlab.domain-ko.ru:8443/k8s/k8s-conf-demo:latest imagePullPolicy: Always env: - name: HTTP_PORT value: "8081" ports: - containerPort: 8081 imagePullSecrets: - name: myprivateregistry
я думаю ему в формате имени :8443 не нравится
Обсуждают сегодня