如何在执行 kubectl patch 命令时修复 json unmarshal 错误?

hal*_*hal 3 json kubernetes

在遵循教程时:https : //kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/我遇到了错误。以下命令失败:

kubectl patch sts web -p '{"spec":{"replicas":3}}'

Error from server (BadRequest): json: cannot unmarshal string into Go value of type map[string]interface {}
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

这是 pod 上的容器镜像:k8s.gcr.io/nginx-slim:0.8

我在 Windows 7 Pro 和标准 cmd shell 上使用 minikube。

kubectl 版本

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", 
GitCommit:"2bd9643cee5b3b3a5ecbd3af
9d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", 
GoVersion:"go1.12.9", Compiler:"gc"
Platform:"windows/amd64"}

Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", 
GitCommit:"2bd9643cee5b3b3a5ecbd3af
9d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", 
GoVersion:"go1.12.9", Compiler:"gc"
Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

api*_*sim 5

尝试用双引号包围它,然后转义里面的双引号:

kubectl patch sts web -p "{\"spec\":{\"replicas\":3}}"
Run Code Online (Sandbox Code Playgroud)