Kubernetes: Se requiere YAML citado cuando no se necesita

Creado en 14 sept. 2016  ·  3Comentarios  ·  Fuente: kubernetes/kubernetes

¿Es esta una solicitud de ayuda?

no

¿Qué palabras clave buscó en los problemas de Kubernetes antes de presentar este?

citas de cotización de yaml

¿Es este un INFORME DE ERROR o una SOLICITUD DE FUNCIÓN? (elige uno):

Versión de Kubernetes (use kubectl version ): 1.3.6

Medio ambiente :

  • Proveedor de nube o configuración de hardware : GCE
  • SO (por ejemplo, de / etc / os-release): Alpine Linux 3.4.0
  • Kernel (por ejemplo, uname -a ): Linux kash-api-4080102595-t21vs 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 Linux
  • Instalar herramientas : apk
  • Otros :

Qué sucedió : Al crear secretos / mapas de configuración, parece ser bastante aleatorio cuando se espera que los valores estén entre comillas o no. A veces son números, otras veces es una cadena, y no siempre porque comienzan con caracteres no estándar.

Usamos NodeJS para generar nuestras configuraciones y (sorprendentemente) ninguna de las bibliotecas tiene soporte para forzar comillas alrededor de valores y está generando YAML válido para todos nuestros otros casos de uso. Estamos recurriendo a 'sed' / magic / post-generado para agregar las comillas, pero esto no es ideal.

¿Es posible que la validación YAML que usa kubectl sea demasiado estricta / rota cuando se requiere que se citen valores o no?

Lo que esperaba que sucediera : No requerir agregar cotizaciones manualmente después de usar un generador YAML válido

Cómo reproducirlo (de la forma más mínima y precisa posible):
aquí hay un valor de mapa de configuración que requiere cotización

dbconnectiontimeout: '60'

o

remoteip: 'algún-host-aquí'

Cualquier otra cosa que necesitemos saber :

arekubectl siapi-machinery

Todos 3 comentarios

@theothermike hola, esto parece un problema conocido y no parece haber una solución real para él. es decir, debe especificar el tipo correctamente ... Sugeriría mirar la discusión aquí https://github.com/kubernetes/kubernetes/issues/2763 Muchos buenos comentarios de @liggitt Este fue otro problema similar informado y cerrado https: / /github.com/kubernetes/kubernetes/issues/28974 Si está de acuerdo, deberíamos cerrar este problema. ¡Gracias! @liggitt tiene sentido?

Puedo usar números sin citar prefijando valores con !!integer . Pero !!int no funciona. (Utilizando Kubernetes 1.8)

Ex:

apiVersion: v1
kind: ConfigMap
metadata:
 name: identity-config
data:
  TC_HOST: 192.168.1.10
  TC_PORT: !!integer 8080

De acuerdo con spzala, el tipo debe especificarse correctamente como una cadena. Yaml solo requiere que se citen los valores numéricos y booleanos (los valores alfa se infieren como cadenas), pero puede citar todos los valores de datos del mapa de configuración si lo hace más fácil

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