Certificados SSL en Kubernets usando ACME -- ssl campo con kubernetes camp Relacionados El problema

SSL Certificates on Kubernetes Using ACME


0
vote

problema

Español

He estado siguiendo este tutorial: https://cert-manager.io/docs/, y después de haber instalado mi administrador de certificados y se aseguró de que estén ejecutando con Kubectl Get PODS ,Namespace Cert-Manager,

  productName, Price and Image6  

Luego configuré mi CERT-Manager usando ACME Emisor siguiendo este tutorial https: // cert-manager.io/docs/configuration/acme/ .

  productName, Price and Image7  

Aquí está mi archivo de configuración completo de Ingress:

  productName, Price and Image8  

Sin embargo, cuando busco a mi sitio, el navegador advierte: el sistema operativo de su computadora no es confiable. Y cuando eché un vistazo a mi certificado, se muestra auto-asignado, lo cual no es realmente lo que quiero. certificado ¿Estoy haciendo algo mal aquí?

Original en ingles

I have been following this tutorial: https://cert-manager.io/docs/ , and after I have installed my cert manager and made sure they are running with kubectl get pods --namespace cert-manager,

cert-manager-5597cff495-l5hjs             1/1     Running   0          91m cert-manager-cainjector-bd5f9c764-xrb2t   1/1     Running   0          91m cert-manager-webhook-5f57f59fbc-q5rqs     1/1     Running   0          91m 

I then configured my cert-manager using ACME issuer by following this tutorial https://cert-manager.io/docs/configuration/acme/ .

apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata:   name: letsencrypt-staging spec:   acme:     # You must replace this email address with your own.     # Let's Encrypt will use this to contact you about expiring     # certificates, and issues related to your account.     email: aidenhsy@gmail.com     server: https://acme-staging-v02.api.letsencrypt.org/directory     privateKeySecretRef:       # Secret resource that will be used to store the account's private key.       name: letsencrypt-staging     # Add a single challenge solver, HTTP01 using nginx     solvers:       - http01:           ingress:             class: nginx 

Here is my full ingress config file:

apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata:   name: ingress-srv   annotations:     kubernetes.io/ingress.class: nginx     nginx.ingress.kubernetes.io/use-regex: 'true' spec:   rules:     - host: www.hyhaus.xyz       http:         paths:           - path: /api/?(.*)             backend:               serviceName: devback-srv               servicePort: 4000           - path: /?(.*)             backend:               serviceName: devfront-srv               servicePort: 3000 --- apiVersion: v1 kind: Service metadata:   annotations:     service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: 'true'     service.beta.kubernetes.io/do-loadbalancer-hostname: 'www.hyhaus.xyz'   labels:     helm.sh/chart: ingress-nginx-2.0.3     app.kubernetes.io/name: ingress-nginx     app.kubernetes.io/instance: ingress-nginx     app.kubernetes.io/version: 0.32.0     app.kubernetes.io/managed-by: Helm     app.kubernetes.io/component: controller   name: ingress-nginx-controller   namespace: ingress-nginx spec:   type: LoadBalancer   externalTrafficPolicy: Local   ports:     - name: http       port: 80       protocol: TCP       targetPort: http     - name: https       port: 443       protocol: TCP       targetPort: https   selector:     app.kubernetes.io/name: ingress-nginx     app.kubernetes.io/instance: ingress-nginx     app.kubernetes.io/component: controller  --- apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata:   name: letsencrypt-staging spec:   acme:     # You must replace this email address with your own.     # Let's Encrypt will use this to contact you about expiring     # certificates, and issues related to your account.     email: aidenhsy@gmail.com     server: https://acme-staging-v02.api.letsencrypt.org/directory     privateKeySecretRef:       # Secret resource that will be used to store the account's private key.       name: letsencrypt-staging     # Add a single challenge solver, HTTP01 using nginx     solvers:       - http01:           ingress:             class: nginx 

However when I browse to my site, the browser warns: security certificate is not trusted by your computer's operating system. And when I took a look a my certificate, it shows self-assigned, which is not really what I want. certificate Am I doing something wrong here?

     

Lista de respuestas

1
 
vote

Este es un marcador de posición de certificado proporcionado por expression ::= relation { and relation } | relation { or relation } | relation { xor relation } | relation [ nand relation ] | relation [ nor relation ] | relation { xnor relation } 4 . Cuando lo ve, significa que no hay otro certificado (dedicado) para el punto final.

Ahora, la primera razón por la que esto sucedió es que su expression ::= relation { and relation } | relation { or relation } | relation { xor relation } | relation [ nand relation ] | relation [ nor relation ] | relation { xnor relation } 5 no tiene datos necesarios. Actualízalo con esto:

  expression ::=         relation { and  relation }       | relation { or   relation }       | relation { xor  relation }       | relation [ nand relation ]       | relation [ nor  relation ]       | relation { xnor relation } 6  

Documentación para los objetos de ingreso es aquí .

Si lo anterior no ayudó, pruebe los pasos de solución de problemas ofrecidos por la Documentación . En mi experiencia, la verificación expression ::= relation { and relation } | relation { or relation } | relation { xor relation } | relation [ nand relation ] | relation [ nor relation ] | relation { xnor relation } 7 y expression ::= relation { and relation } | relation { or relation } | relation { xor relation } | relation [ nand relation ] | relation [ nor relation ] | relation { xnor relation } 8 Los recursos fueron suficientes en la mayoría de los casos para determinar el problema.

  expression ::=         relation { and  relation }       | relation { or   relation }       | relation { xor  relation }       | relation [ nand relation ]       | relation [ nor  relation ]       | relation { xnor relation } 9  

Recuerde que estos objetos están espacilizados, lo que significa que estarán en el mismo espacio de nombres que el objeto not(L(16) xor L(26)); 0 .

 

This is a certificate placeholder provided by nginx ingress controller. When you see it, it means there is no other (dedicated) certificate for the endpoint.

Now the first reason why this happened is that your Ingress doesn't have necessary data. Update it with this:

metadata:   annotations:     # which issuer to use     cert-manager.io/cluster-issuer: "letsencrypt-staging" spec:   tls: # placing a host in TLS config indicates that a certificate should be created   - hosts:     - example.org     - www.example.org     - xyz.example.org     secretName: myingress-cert # cert-manager will store the created certificate in this secret 

Documentation for ingress objects is here.

If the above didn't help, try the troubleshooting steps offered by the documentation. In my experience checking CertificateRequest and Certificate resources was enough in most cases to determine the problem.

$ kubectl get certificate $ kubectl describe certificate <certificate-name> $ kubectl get certificaterequest $ kubectl describe certificaterequest <CertificateRequest name> 

Remember that these objects are namespaced, meaning that they'll be in the same namespace as the ingress object.

 
 
0
 
vote

Para asegurar la entrada, primero debe agregar clusterissuer a sus recursos de ingreso y CERT-Manager, lo recogerán y creará el recurso de certificado para usted. Kind : ingress metadata: annotations : cert-manager.io/cluster-issuer: nameOfClusterIssuer .

segundo tiene que agregar tls & lt; = Esto indica la creación de Certificado (Teclado / Certer Par) por Cert-Manager a través del clusterissuer.

Tercero tiene que agregar secretName: myingress & LT; = Aquí, el administrador de Cert almacenará los secretos de TLS (después de crear un par de teclas / certificados y almacenarlos para usted) ..

 

To secure Ingress, First you have to add ClusterIssuer to your Ingress resources and cert-manager will then pick it up and create the Certificate resource for you . Kind : ingress metadata: annotations : cert-manager.io/cluster-issuer: nameOfClusterIssuer .

Second you have to add tls <= this indicates the creation of certificate(key/cert pair) by Cert-manager via The ClusterIssuer.

Third you have to add secretName: myingress <= here the cert manager will store the tls secrets ( after creating key/cert pair and store them for you)..

 
 

Relacionados problema

-2  ¿Hay alguna manera de instalar MySQL a través de DockerFile en un contenedor de Ubuntu Docker? [cerrado]  ( Is there a way to install mysql via dockerfile in an ubuntu docker container ) 
cerrado . Esta pregunta debe ser más enfocado . Actualmente no está aceptando respuestas. ...

0  ¿Cómo montar un directorio en Windows en un contenedor con Kubernetes en Docker para Windows?  ( How to mount a directory in windows on a container with kubernetes on docker for ) 
Estoy usando Docker para Windows 2.3.0.4 (establo) respaldado por WSL2 en Windows 10 versión 2004 y con Soporte de Kubernetes habilitado. Estoy tratando de ...

2  ¿Qué servidor web debo usar dentro de Kubernetes para Ruby On Rails? [cerrado]  ( Which web server should i use inside kubernetes for ruby on rails ) 
cerrado . Esta pregunta es basada en opinión . Actualmente no está aceptando respuestas. ¿...

0  Nginx daemonset - ¿Cómo selecciono la dirección IP para enlazar?  ( Nginx daemonset how do i select which ip address to bind to ) 
Tengo un clúster de metal desnudo de Docker Enterprise K8 que se ejecuta en CENTOS8, y siguiendo a los documentos oficiales para instalar NGINX utilizando arc...

3  Ejecutar programáticamente los comandos de Kubernetes en un clúster de GKE fresco  ( Programmatically run kubernetes commands on a fresh gke cluster ) 
Para ejecutar una prueba de carga de una aplicación que estoy desarrollando, estoy creando un clúster de motor de contenedor de Google (GKE), cree un par de d...

93  ¿Cómo volver a intentar la imagen en una vaina de kubernetes?  ( How to retry image pull in a kubernetes pods ) 
Soy nuevo en Kubernetes. Tengo un problema en las vainas. Cuando ejecuto el comando kubectl get pods Resultado: NAME READY ST...

1  ¿Cómo podemos reiniciar la vaina de Kubernetes si su preparación falla?  ( How can we restart the kubernetes pod if its readiness fail ) 
una pregunta rápida. Sé que si la sonda de la provividad de Kubernetes falla, Kubernetes ayudará a reiniciar la vaina e intentará nuevamente. Pero, ¿qué tal l...

0  Jenkins construye Daemer Daemer que no se ejecuta en el clúster de Kubernetes  ( Jenkins build docker daemon not running on kubernetes cluster ) 
Soy nuevo en DEV OPS e intentando construir mi código usando Jenkins y cargarlo en el clúster de Kubernetes que está alojado en la nube de IBM. Pero cuando ej...

2  Kubernetes matando continuamente y recreando la última vaina  ( Kubernetes continuously killing and recreating last pod ) 
El último contenedor (3er) se está eliminando y recreado continuamente por Kubernetes. Pasa desde corriendo hasta el estado de terminación. La UI de Kubernete...

1  Cómputo de cómputo instancia insalubre del 50% del tiempo  ( Compute engine unhealthy instance down 50 of the time ) 
Comencé a usar Google Cloud hace 3 días, así que soy completamente nuevo para ello. Tengo 4 vainas desplegadas en el motor de Google Kubernetes: frontend: ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos