这是请求帮助吗?
不
在提交这个问题之前,您在 Kubernetes 问题中搜索了哪些关键字?
这是错误报告还是功能请求? (选一个):
Kubernetes 版本(使用kubectl version
):1.3.6
环境:
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发生了什么:在创建秘密/配置映射时,当值是否被引号包围时,它似乎是相当随机的。 有时是数字,有时是字符串,并不总是因为以非标准字符开头。
我们使用 NodeJS 来生成我们的配置,并且(令人惊讶的是)没有一个库支持强制引用值,并且正在为我们所有其他用例生成有效的 YAML。 我们求助于一些后期生成的 'sed' /magic/ 来添加引号,但这并不理想。
当需要引用或不引用值时,kubectl 使用的 YAML 验证是否可能过于严格/损坏?
您期望发生的事情:在使用有效的 YAML 生成器后不需要手动添加引号
如何重现它(尽可能少且精确):
这是一个需要引用的 configmap 值
数据库连接超时:'60'
或者
remoteip: '一些主机在这里'
还有什么我们需要知道的:
@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 数据值