Kuby-core: Krane::FatalDeploymentError: la validación de la plantilla falló

Creado en 11 ago. 2020  ·  13Comentarios  ·  Fuente: getkuby/kuby-core

Al desplegar krane explota. Esta es una implementación con v. 0.7.0

KUBY_DOCKER_TAG=latest bundle exec rake kuby:deploy --trace Configuré la etiqueta como la más reciente para evitar el otro problema :)

Esto es lo que obtengo:

* Invocar kuby: implementar (first_time)* Ejecutar kuby: implementar
Validando recurso global, espacio de nombres 'mi-aplicación-producción'
espacio de nombres/producción de mi aplicación configurado (ejecución en seco)
Implementación del espacio de nombres 'mi-aplicación-producción'
espacio de nombres/producción de mi aplicación sin cambios
[INFO][2020-08-11 09:15:10 +0200]
[INFO][2020-08-11 09:15:10+0200] --------------------------------- ---Fase 1: Inicialización de la implementación------------------------------------
[INFO][2020-08-11 09:15:11 +0200] Todos los parámetros y archivos requeridos están presentes
[INFO][2020-08-11 09:15:11 +0200] Descubriendo recursos:
[INFO][2020-08-11 09:15:13 +0200] - Implementación/mi-aplicación-web
[INFO][2020-08-11 09:15:13 +0200] - Secreto/mi-aplicacion-web-mysql-secreto
[INFO][2020-08-11 09:15:13 +0200] - CuentaServicio/mi-aplicación-sa
[INFO][2020-08-11 09:15:13 +0200] - ConfigMap/my-app-config
[INFO][2020-08-11 09:15:13 +0200] - Secreto/mi-aplicación-registro-secreto
[INFO][2020-08-11 09:15:13 +0200] - Ingreso/mi-aplicación-ingreso
[INFO][2020-08-11 09:15:13 +0200] - Secreto/mis-aplicaciones-secretos
[INFO][2020-08-11 09:15:13 +0200] - ClusterIssuer/letsencrypt-producción
[INFO][2020-08-11 09:15:13 +0200] - MySQL/my-app-web-mysql
[INFO][2020-08-11 09:15:13 +0200] - Secreto/mi-aplicacion-web-mysql-secreto
[INFO][2020-08-11 09:15:13 +0200] - MySQL/my-app-web-mysql
[INFO][2020-08-11 09:15:13 +0200] - Servicio/my-app-svc
[INFO][2020-08-11 09:15:15 +0200]
[INFO][2020-08-11 09:15:15 +0200] --------------------------------- ---------Resultado: FALLO------------------------------------------------------ -----
[FATAL][2020-08-11 09:15:16 +0200] Falló la validación de la plantilla
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Plantilla no válida: ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml
[FATAL][2020-08-11 09:15:16 +0200] > Mensaje de error:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:13.103161 60953 helpers.go:535] --dry-run está obsoleto y se puede reemplazar con --dry-run=client.
[FATAL][2020-08-11 09:15:16 +0200] error: no se puede reconocer "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml": no hay coincidencias para escriba "ClusterIssuer" en la versión "cert-manager.io/v1alpha2"
[FATAL][2020-08-11 09:15:16 +0200] > Contenido de la plantilla:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] apiVersión: cert-manager.io/v1alpha2
[FATAL][2020-08-11 09:15:16 +0200] tipo: ClusterIssuer
[FATAL][2020-08-11 09:15:16 +0200] metadatos:
[FATAL][2020-08-11 09:15:16 +0200] nombre: letsencrypt-producción
[FATAL][2020-08-11 09:15:16 +0200] espacio de nombres: cert-manager
[FATAL][2020-08-11 09:15:16 +0200] especificación:
[FATAL][2020-08-11 09:15:16 +0200] cumbre:
[FATAL][2020-08-11 09:15:16 +0200] servidor: https://acme-v02.api.letsencrypt.org/directory
[FATAL][2020-08-11 09:15:16 +0200] correo electrónico: [email protected]
[FATAL][2020-08-11 09:15:16 +0200] privateKeySecretRef:
[FATAL][2020-08-11 09:15:16 +0200] nombre: letsencrypt-producción
[FATAL][2020-08-11 09:15:16 +0200] solucionadores:
[FATAL][2020-08-11 09:15:16 +0200] - http01:
[FATAL][2020-08-11 09:15:16 +0200] ingreso:
[FATAL][2020-08-11 09:15:16 +0200] clase: nginx
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Plantilla no válida: MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml
[FATAL][2020-08-11 09:15:16 +0200] > Mensaje de error:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:13.122295 60956 helpers.go:535] --dry-run está obsoleto y se puede reemplazar con --dry-run=client.
[FATAL][2020-08-11 09:15:16 +0200] error: no se puede reconocer "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml" : no hay coincidencias para el tipo "MySQL" en la versión "kubedb.com/v1alpha1"
[FATAL][2020-08-11 09:15:16 +0200] > Contenido de la plantilla:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] tipo: MySQL
[FATAL][2020-08-11 09:15:16 +0200] Versión api: kubedb.com/v1alpha1
[FATAL][2020-08-11 09:15:16 +0200] especificación:
[FATAL][2020-08-11 09:15:16 +0200] Política de terminación: No terminar
[FATAL][2020-08-11 09:15:16 +0200] tipo de almacenamiento: Durable
[FATAL][2020-08-11 09:15:16 +0200] versión: 5.7-v2
[FATAL][2020-08-11 09:15:16 +0200] almacenamiento:
[FATAL][2020-08-11 09:15:16 +0200] Modos de acceso:
[FATAL][2020-08-11 09:15:16 +0200] - ReadWriteOnce
[FATAL][2020-08-11 09:15:16 +0200] nombre de clase de almacenamiento: do-block-storage
[FATAL][2020-08-11 09:15:16 +0200] recursos:
[FATAL][2020-08-11 09:15:16 +0200] solicitudes:
[FATAL][2020-08-11 09:15:16 +0200] almacenamiento: 10Gi
[FATAL][2020-08-11 09:15:16 +0200] base de datos secreta:
[FATAL][2020-08-11 09:15:16 +0200] nombre secreto: my-app-web-mysql-secret
[FATAL][2020-08-11 09:15:16 +0200] metadatos:
[FATAL][2020-08-11 09:15:16 +0200] nombre: mi-aplicación-web-mysql
[FATAL][2020-08-11 09:15:16 +0200] espacio de nombres: mi-aplicación-producción
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Plantilla no válida: MySQL-my-app-web-mysql20200811-60914-1na8no.yml
[FATAL][2020-08-11 09:15:16 +0200] > Mensaje de error:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:14.705164 60971 helpers.go:535] --dry-run está obsoleto y se puede reemplazar con --dry-run=client.
[FATAL][2020-08-11 09:15:16 +0200] error: no se puede reconocer "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1na8no.yml" : no hay coincidencias para el tipo "MySQL" en la versión "kubedb.com/v1alpha1"
[FATAL][2020-08-11 09:15:16 +0200] > Contenido de la plantilla:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] tipo: MySQL
[FATAL][2020-08-11 09:15:16 +0200] Versión api: kubedb.com/v1alpha1
[FATAL][2020-08-11 09:15:16 +0200] especificación:
[FATAL][2020-08-11 09:15:16 +0200] Política de terminación: No terminar
[FATAL][2020-08-11 09:15:16 +0200] tipo de almacenamiento: Durable
[FATAL][2020-08-11 09:15:16 +0200] versión: 5.7-v2
[FATAL][2020-08-11 09:15:16 +0200] almacenamiento:
[FATAL][2020-08-11 09:15:16 +0200] Modos de acceso:
[FATAL][2020-08-11 09:15:16 +0200] - ReadWriteOnce
[FATAL][2020-08-11 09:15:16 +0200] nombre de clase de almacenamiento: do-block-storage
[FATAL][2020-08-11 09:15:16 +0200] recursos:
[FATAL][2020-08-11 09:15:16 +0200] solicitudes:
[FATAL][2020-08-11 09:15:16 +0200] almacenamiento: 10Gi
[FATAL][2020-08-11 09:15:16 +0200] base de datos secreta:
[FATAL][2020-08-11 09:15:16 +0200] nombre secreto: my-app-web-mysql-secret
[FATAL][2020-08-11 09:15:16 +0200] metadatos:
[FATAL][2020-08-11 09:15:16 +0200] nombre: mi-aplicación-web-mysql
[FATAL][2020-08-11 09:15:16 +0200] espacio de nombres: mi-aplicación-producción
[FATAL][2020-08-11 09:15:16 +0200]
rastrillo abortado!
Krane::FatalDeploymentError: la validación de la plantilla falló

Todos 13 comentarios

Parece que su clúster no conoce los objetos ClusterIssuer o MySQL . ¿Ejecutó rake kuby:setup antes de implementar?

Ahhh, me perdí ese paso de la guía! ¡Gracias!

@traels , ¿pudiste hacer que las cosas funcionaran?

Lo siento, ¡olvidé responderte!
Logré ejecutar kuby:setup , luego mi clúster se bloqueó en Digital Ocean, así que ahora creo que necesito crear un nuevo clúster de kubernetes para volver a intentarlo. Con la esperanza de tener más tiempo para jugar la próxima semana.

@traels ¡Dios mío, guau! ¿Qué pasó, si puedo preguntar?

No sé: Kuby solo dijo que kubernetes no respondía. Intenté reiniciar en DO pero eso no ayudó.

Mmm interesante. Definitivamente he visto bloqueos al intentar comunicarme con clústeres DOKS. Por lo general, se arregla solo en una hora más o menos. Aunque una experiencia bastante mala, ¿tal vez Linode sería mejor?

Me levanté temprano hoy, y ahora mi clúster funciona, y la implementación fue un éxito :)
... próximo problema, ¿cómo manejar los activos de Rails en la ventana acoplable? todos mis bienes están perdidos

Hmm, eso es curioso... los activos deben compilarse en la imagen de Docker. ¡Oh, pero apuesto a que nada les está sirviendo! ¿Puedes intentar configurar config.public_file_server.enabled = true en tu production.rb? Eso debería arreglar las cosas. También presentaré un error, ya que probablemente debería funcionar de inmediato :)

Entonces, ¿en kubernetes las personas sirven activos con el servidor web Ruby?

No, pero esa es la solución más rápida que se me ocurrió, jeje. Kuby debería tener una mejor opción, pero requerirá algo de trabajo.

Debería expandirme un poco: la mayoría de las personas con aplicaciones Rails con cualquier tipo de escala tienden a servir activos estáticos desde un CDN. El origen de esos activos suele ser algo así como un cubo S3, pero bien podría ser la propia aplicación Rails. Dado que el 99 % del tiempo, la CDN servirá los recursos, consultarlos inicialmente en la aplicación Rails no debería afectar demasiado el rendimiento.

Presentó un problema ayer para rastrear esto: https://github.com/getkuby/kuby-core/issues/12

Kuby v0.8.0 viene con un servidor de activos completamente funcional (nginx), por lo que ya no debería haber necesidad de que la aplicación sirva activos :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

hovancik picture hovancik  ·  5Comentarios

kingdonb picture kingdonb  ·  6Comentarios

alexcoplan picture alexcoplan  ·  3Comentarios

vangberg picture vangberg  ·  3Comentarios

JohnMerlino1 picture JohnMerlino1  ·  3Comentarios