k8s中patch和replace部署的区别是什么?

lin*_*ing 6 kubernetes

我想更新 k8s 部署的镜像,我在 k8s 中找到了两个 RESTAPI 来更新部署:PATCHPUT. 我发现,在官方文档中,PATCH用于更新和PUT用于替换,但在使用两个命令进行测试后:

kubectl patch -p ...
kubectl replace -f ...
Run Code Online (Sandbox Code Playgroud)

这两种方法之间似乎没有区别。

它们都可以回滚并且新 pod 的名称已更改。

我想知道这两个命令是否仅在请求正文中有所不同?(补丁只需要改变的部分,放需要整个部分)

Dae*_*ark 2

replace is a full replacement. You have to have ALL the fields present. patch is partial.