Я работаю над докером для установки на рабочем столе kubernertes и хочу развернуть реестр докеров за входом.Я уже развернул реестр, и если я получаю доступ к каталогу API с помощью входа, это работает.Но когда я пытаюсь сделать push, у меня появляется эта ошибка:
error parsing HTTP 404 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx/1.15.11</center>\r\n</body>\r\n</html>\r\n"
Это yaml, который я использовал для создания тома, развертывания и обслуживания
kind: PersistentVolume
apiVersion: v1
metadata:
name: dev-registry-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/host_mnt/c/docker-registry/dev-registry"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: dev-registry-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: dev-registry
namespace: default
spec:
replicas: 1
template:
metadata:
labels:
app: dev-registry
spec:
containers:
- name: dev-registry
image: registry:2
ports:
- name: http-port
containerPort: 5000
volumeMounts:
- name: docker-data
mountPath: /var/lib/registry
volumes:
- name: docker-data
persistentVolumeClaim:
claimName: dev-registry-pv-claim
---
apiVersion: v1
kind: Service
metadata:
name: dev-registry
spec:
ports:
- port: 5000
targetPort: 5000
selector:
app: dev-registry
, и этоПравило входа я создал
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sudoku-ingress
namespace: default
annotations:
ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
spec:
rules:
- host: dev-registry.sudoku.test.it
http:
paths:
- backend:
serviceName: dev-registry
servicePort: 5000
path: /
, где dev-registry.sudoku.test.it указывает на ip кластера kubernetes.Я уже добавляю адрес в незащищенный список докеров, и если я делаю запрос get на URL http://dev -registry.sudoku.test.it / v2 / _catalog , он отвечает правильно.
Я также пытался выставить реестр как NodePort, и в этом случае push работает корректно, поэтому проблема заключается во входной конфигурации.Как мне настроить вход?
Я также пробую это https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/docker-registry, но меняя только адрес реестра, он не работает.Есть идеи?