Kubernetes: YAML citado obrigatório quando nenhum necessário

Criado em 14 set. 2016  ·  3Comentários  ·  Fonte: kubernetes/kubernetes

É um pedido de ajuda?

não

Quais palavras-chave você pesquisou nos problemas do Kubernetes antes de preencher este?

citações de citação yaml

Este é um RELATÓRIO DE BUGS ou PEDIDO DE RECURSO? (escolha um):

Versão do Kubernetes (use kubectl version ): 1.3.6

Meio Ambiente :

  • Provedor de nuvem ou configuração de hardware : GCE
  • SO (por exemplo, de / etc / os-release): Alpine Linux 3.4.0
  • Kernel (por exemplo, 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
  • Ferramentas de instalação : apk
  • Outros :

O 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 :

arekubectl siapi-machinery

Todos 3 comentários

@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

Esta página foi útil?
0 / 5 - 0 avaliações