Kubernetes: 不需要时需要引用 YAML

创建于 2016-09-14  ·  3评论  ·  资料来源: kubernetes/kubernetes

这是请求帮助吗?

在提交这个问题之前,您在 Kubernetes 问题中搜索了哪些关键字?

yaml 报价单

这是错误报告还是功能请求? (选一个):

Kubernetes 版本(使用kubectl version ):1.3.6

环境:

  • 云供应商或硬件配置:GCE
  • 操作系统(例如来自 /etc/os-release):Alpine Linux 3.4.0
  • 内核(例如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
  • 安装工具:apk
  • 其他

发生了什么:在创建秘密/配置映射时,当值是否被引号包围时,它似乎是相当随机的。 有时是数字,有时是字符串,并不总是因为以非标准字符开头。

我们使用 NodeJS 来生成我们的配置,并且(令人惊讶的是)没有一个库支持强制引用值,并且正在为我们所有其他用例生成有效的 YAML。 我们求助于一些后期生成的 'sed' /magic/ 来添加引号,但这并不理想。

当需要引用或不引用值时,kubectl 使用的 YAML 验证是否可能过于严格/损坏?

您期望发生的事情:在使用有效的 YAML 生成器后不需要手动添加引号

如何重现它(尽可能少且精确):
这是一个需要引用的 configmap 值

数据库连接超时:'60'

或者

remoteip: '一些主机在这里'

还有什么我们需要知道的

arekubectl siapi-machinery

所有3条评论

@theothermike嗨,这似乎是一个已知问题,似乎没有真正的解决方法。 即你必须正确指定类型..我建议看看这里的讨论https://github.com/kubernetes/kubernetes/issues/2763来自@liggitt 的很多很好的评论 这是另一个类似的问题报告并关闭了https:/ /github.com/kubernetes/kubernetes/issues/28974如果你@liggitt有意义吗?

我可以使用数字而不用引用!!integer前缀值。 但是!!int不起作用。 (使用 Kubernetes 1.8)

前任:

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

同意spzala,类型必须正确指定为字符串。 Yaml 只需要引用数字和布尔值(alpha 值被推断为字符串),但如果它更容易,您可以引用所有 configmap 数据值

此页面是否有帮助?
0 / 5 - 0 等级