Migré una aplicación web de django a kubernetes. Para esta aplicación, estoy ejecutando un servicio al que se puede acceder desde un nombre de dominio. Los siguientes son los archivos yaml para mi servicio, ingreso y certificado:-
Servicio:-
kind: Service apiVersion: v1 metadata: name: app-service namespace: my-namespace labels: app: my-app spec: type: ClusterIP selector: app: my-app ports: - protocol: TCP port: 8000 targetPort: 8000Ingreso:-
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: app-ingress namespace: my-namespace annotations: kubernetes.io/ingress.class: nginx certmanager.k8s.io/acme-challenge-type: http01 certmanager.k8s.io/cluster-issuer: letsencrypt-prod kubernetes.io/ingress.allow-http: "true" nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: rules: - host: abc http: paths: - path: / backend: serviceName: app-service servicePort: 8000 tls: - secretName: sname hosts: - abcCertificado:-
apiVersion: certmanager.k8s.io/v1alpha1 kind: Certificate metadata: name: sname namespace: my-namespace spec: secretName: sname issuerRef: name: letsencrypt-prod kind: ClusterIssuer dnsNames: - abc acme: config: - dns01: provider: route53 domains: - abcNota: abc es la URL de mi empresa.
Cuando intento abrir mi aplicación web django en la URL, aparece el siguiente error:
NET::ERR_CERT_AUTHORITY_INVALID Asunto: Certificado falso del controlador de ingreso de Kubernetes
Me he referido a la publicación del certificado SSL de Kubernetes Ingress pero no ayudó. Me gustaría saber si me falta algo o lo he configurado mal.
Cuando intento ejecutar el comando kubectl get ing -n my-namespace ; No veo ninguna dirección en el ingreso.
¡Muchas gracias!
Let's Encrypt, como cualquier otra CA, no está destinado a obtener y no entregará certificados para dominios no públicos. abc no es de dominio público.