2017-10-17 12 views
0

配備の一部の値を更新しようとしています。Kubernetes - 展開が無効です。無効な値

# kubectl get deploy activemq-deployment -o yaml 

spec: 
. 
. 
    strategy: 
    rollingUpdate: 
     maxSurge: 1 
     maxUnavailable: 0 
    type: RollingUpdate 
. 
. 

私はその場でmaxUnavailablemaxSurgeの値を更新しようとしています。

# kubectl patch deploy activemq-deployment -p '{"spec":{"strategy":{"type":"RollingUpdate","rollingUpdate":{"maxUnavailable":"2","maxSurge":"5"}}}}' 

しかし、このコマンドはエラーを得られます:私は使用していますコマンドがある

The Deployment "activemq-deployment" is invalid: 
* spec.strategy.rollingUpdate.maxUnavailable: Invalid value: "1": must match the regex [0-9]+% (e.g. '1%' or '93%') 
* spec.strategy.rollingUpdate.maxSurge: Invalid value: "5": must match the regex [0-9]+% (e.g. '1%' or '93%') 

は私からのみperfectagesを期待しているように見えます。もしそうなら、

# kubectl patch deploy activemq-deployment -p '{"spec":{"strategy":{"type":"RollingUpdate","rollingUpdate":{"maxUnavailable":"100%","maxSurge":"100%"}}}}' 
"activemq-deployment" patched 

ご覧のとおり、これは成功です。しかし、デプロイメントファイルを作成したとき、パーセンテージではなく整数を使用しました。なぜ、パッチコマンドが整数値をポストさせるのか?

答えて

0

私はAPIを使用すると、値のため文字列を提供している見て、あなたは整数になりますことmaxSurge: 5を言うならば、それは、YAMLであるため(パーセントであることを期待からだと$ 1賭けたい、しかしmaxSurge: 5%がされます

kubectl patch deploy activemq-deployment -p '{ 
    "spec": { 
    "strategy": { 
     "type": "RollingUpdate", 
     "rollingUpdate": { 
     "maxUnavailable": 2, 
     "maxSurge": 5 
     } 
    } 
    } 
}' 

される文字列)

更新コマンドと私はそれはあなたが

を意図したものでしょう疑います
関連する問題