Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

404
Vistas
Error de K8S cert-manager al crear pods de desafío acme

Estuve intentando durante los últimos 3 días configurar cert-manager en un clúster K8S (v1.19.8) en un entorno OpenStack con 1 maestro y 2 nodos. Funcionó antes (como hace 1 mes), pero como volví a crear el clúster, no se pueden crear desafíos de pod ACME debido a este error:

 Status: Presented: false Processing: true Reason: pods "cm-acme-http-solver-" is forbidden: PodSecurityPolicy: unable to admit pod: [] State: pending Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Started 8m25s cert-manager Challenge scheduled for processing Warning PresentError 3m18s (x7 over 8m23s) cert-manager Error presenting challenge: pods "cm-acme-http-solver-" is forbidden: PodSecurityPolicy: unable to admit pod: []

Probé diferentes versiones de ingress-nginx, diferentes versiones de cert-manager, diferentes versiones de k8s, pero fue en vano. Me estoy volviendo loco..., por favor ayuda. Muchas gracias :)

Configuración del clúster

 kubectl create namespace ingress-nginx && \ helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx && \ kubectl create namespace cert-manager && \ helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version v1.1.0 \ --set installCRDs=true

Editor

 apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: letsencrypt-prod spec: acme: server: https://acme-v02.api.letsencrypt.org/directory email: email@example.com preferredChain: "ISRG Root X1" privateKeySecretRef: name: letsencrypt-prod solvers: - http01: ingress: class: nginx

Ingreso

 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: main-ingress annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/from-to-www-redirect: "true" cert-manager.io/issuer: "letsencrypt-prod" spec: tls: - hosts: - host.com secretName: the-secret-name rules: - host: host.com http: paths: - path: / pathType: Prefix backend: service: name: api-nginx port: number: 80
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Después de un poco de depuración y mucha ayuda del proveedor de alojamiento, encontramos el problema y la solución.

Estábamos usando la versión más reciente (del maestro) de Magnum/OpenStack, que obtuvo una actualización que instalaba de forma predeterminada un controlador PodSecurityPolicy. Eso impidió que cert-manager creara pods ACME.

Recrear el clúster sin un controlador de políticas resolvió el problema:

 openstack coe cluster create \ --cluster-template v1.kube1.20.4 \ --labels \ admission_control_list="NodeRestriction,NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,PersistentVolumeClaimResize,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,RuntimeClass" \ --merge-labels ...
over 4 years ago · Santiago Trujillo Denunciar

0

Un año tarde, pero agregando otra solución en caso de que ayude a otros a encontrar esto. Tuve el mismo problema de que PSP bloqueaba el pod de desafío, pero realmente no quería tener que volver a crear/reconfigurar mi clúster, así que finalmente resolví el problema agregando esto a los valores del gráfico de timón.yaml: https:// github.com/cert-manager/cert-manager/blob/master/deploy/charts/cert-manager/values.yaml

 global: podSecurityPolicy: enabled: true useAppArmor: false

En mi caso, esto es parte de una implementación de Gitlab, así que lo agregué bajo la clave certmanager, de la siguiente manera:

 certmanager: install: true global: podSecurityPolicy: enabled: true useAppArmor: false

(etiquetas para la búsqueda: gitlab helm chart certmanager PodSecurityPolicy "no se puede admitir el pod" bloqueado)

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda