Host Docker private registry using Ingress

Make sure ingress nginx is installed and following command shows external Ip assigned

kubectl get services -o wide -n ingress-nginx

image-1621793557226.png

if external ip is not assigned then nginx controller needs modifications. Refer: Ingress installation

Create ingress

prd-ingress-service.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prd-ingress-service
  annotations:
    # use the shared ingress-nginx
    kubernetes.io/ingress.class: "nginx"
  labels:
    name: prd-ingress-service
spec:
  tls:
    - hosts:
      - <your-subdomain-domain>
      secretName: <tls-certificate secret>
  rules:
  - host: <your-subdomain-domain>
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: <service-name>
            port:
              number: <service-local-port>

Docker private registry will now be available over internet