¿Es esta una solicitud de ayuda?
no
¿Qué palabras clave buscó en los problemas de Kubernetes antes de presentar este?
¿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 :
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 LinuxQué 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 :
@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