Я развернул свое первое приложение на своем кластере Kubernetes prod месяц назад.
Я мог бы развернуть свои 2 службы (спереди и сзади) из реестра gitlab.
Теперь я нажалновый образ докера для реестра gitlab, и я хотел бы повторно развернуть его в prod:
Вот мой файл развертывания:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
reloader.stakater.com/auto: "true"
labels:
app: espace-client-client
name: espace-client-client
namespace: espace-client
spec:
replicas: 1
strategy: {}
template:
metadata:
labels:
app: espace-client-client
spec:
containers:
- envFrom:
- secretRef:
name: espace-client-client-env
image: registry.gitlab.com/xxx/espace_client/client:latest
name: espace-client-client
ports:
- containerPort: 3000
resources: {}
restartPolicy: Always
imagePullSecrets:
- name: gitlab-registry
Понятия не имею, что находится внутри gitlab-registry
.Я не делал это сам, и люди, которые сделали это, покинули команду :( Тем не менее, у меня есть все разрешения, так что мне нужно только знать, что добавить в секрет, и, возможно, удалить его и воссоздать его.
Похоже, что секрет основан на моем .docker / config.json
➜ espace-client git:(k8s) ✗ kubectl describe secrets gitlab-registry
Name: gitlab-registry
Namespace: default
Labels: <none>
Annotations: <none>
Type: kubernetes.io/dockerconfigjson
Data
====
.dockerconfigjson: 174 bytes
Я попытался удалить существующий секрет, выйдите из системы с помощью
docker logout registry.gitlab.com
kubectl delete secret gitlab-registry
Затем войдите снова:
docker login registry.gitlab.com -u myGitlabUser
Password:
Login Succeeded
и вытяните изображение с:
docker pull registry.gitlab.com/xxx/espace_client/client:latest
, что сработало.
файл: ~/.docker/config.json
выглядит странно:
{
"auths": {
"registry.gitlab.com": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.6 (linux)"
},
"credsStore": "secretservice"
}
Кажется, он не содержит никаких учетных данных ...
Затем я воссоздаю свой секрет
kubectl create secret generic gitlab-registry \
--from-file=.dockerconfigjson=/home/julien/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Я также попытался сделать:
kubectl create secret docker-registry gitlab-registry --docker-server=registry.gitlab.com --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
и развернуть снова:
kubectl rollout restart deployment/espace-client-client -n espace-client
но у меня все та же ошибка:
Error from server (BadRequest): container "espace-client-client" in pod "espace-client-client-6c8b88f795-wcrlh" is waiting to start: trying and failing to pull image