これは助けを求めるものですか?
番号
これを提出する前に、Kubernetesの問題でどのキーワードを検索しましたか?
これはバグレポートですか、それとも機能リクエストですか? (1つ選択してください):
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値は次のとおりです
dbconnectiontimeout: '60'
また
remoteip: 'some-host-here'
他に知っておくべきことはありますか:
@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では数値とブール値のみを引用する必要があります(アルファ値は文字列であると推測されます)が、簡単にできる場合はすべてのconfigmapデータ値を引用できます