É um pedido de ajuda?
não
Quais palavras-chave você pesquisou nos problemas do Kubernetes antes de preencher este?
Este é um RELATÓRIO DE BUGS ou PEDIDO DE RECURSO? (escolha um):
Versão do Kubernetes (use kubectl version
): 1.3.6
Meio 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 LinuxO que aconteceu : ao criar segredos / configmaps, parece ser bastante aleatório quando se espera que os valores estejam entre aspas ou não. Às vezes são números, outras vezes são strings, e nem sempre por começar com caracteres não padrão.
Usamos NodeJS para gerar nossas configurações e (surpreendentemente) nenhuma das bibliotecas tem suporte para forçar aspas em torno de valores e está gerando YAML válido para todos os nossos outros casos de uso. Estamos recorrendo a algum 'sed' / mágica / pós-gerado para adicionar as aspas, mas isso não é o ideal.
É possível que a validação YAML que kubectl usa seja muito rígida / quebrada ao exigir que os valores sejam citados ou não?
O que você esperava que acontecesse : não exigir a adição manual de cotações depois de usar um gerador YAML válido
Como reproduzi-lo (o mínimo e precisamente possível):
aqui está um valor de configmap que requer cotação
dbconnectiontimeout: '60'
ou
remoteip: 'algum-host-aqui'
Precisamos saber mais alguma coisa :
@theothermike oi, este parece ser um problema conhecido e não parece haver uma solução real para ele. ou seja, você deve especificar o tipo corretamente .. Eu sugiro olhar para a discussão aqui https://github.com/kubernetes/kubernetes/issues/2763 Muitos comentários bons de @liggitt Este foi outro problema semelhante relatado e encerrado https: / /github.com/kubernetes/kubernetes/issues/28974 Se você concordar, devemos encerrar este problema. Obrigado! @liggitt faz sentido?
Sou capaz de usar números sem aspas, prefixando valores com !!integer
. Mas !!int
não está funcionando. (Usando o Kubernetes 1.8)
Ex:
apiVersion: v1
kind: ConfigMap
metadata:
name: identity-config
data:
TC_HOST: 192.168.1.10
TC_PORT: !!integer 8080
Concordo com spzala, o tipo deve ser especificado corretamente como uma string. Yaml requer apenas que os valores numéricos e booleanos sejam colocados entre aspas (valores alfa são inferidos como strings), mas você pode colocar todos os valores de dados do configmap entre aspas se isso tornar mais fácil