gpt4 book ai didi

kubectl - kubectl apply 和 kubectl replace 有什么区别

转载 作者:行者123 更新时间:2023-12-03 10:05:03 44 4
gpt4 key购买 nike

最近在学习Kubernetes,对“kubectl apply”和“kubectl replace”的区别不是很清楚。有没有我们只能使用其中一种的情况?

最佳答案

我已经写了一篇关于 apply、replace 和 patch 之间差异的详尽解释:Kubernetes Apply vs. Replace vs. Patch .它包括对这个问题当前排名靠前的答案是错误的解释。

简而言之,kubectl apply如果资源不存在,则使用提供的规范创建资源,如果存在则更新,即补丁。提供给 apply 的规范只需要包含规范的必需部分,在创建资源时,API 将使用其余部分的默认值,而在更新资源时,它将使用其当前值。
kubectl replace用提供的规范定义的资源完全替换现有资源。 replace想要一个完整的规范作为输入,包括由 API 提供的只读属性,如 .metadata.resourceVersion , .spec.nodeName用于 pod ,.spec.clusterIP服务,和 .secrets对于服务帐户。 kubectl有一些内部技巧可以帮助您做到这一点,但通常用于 replace 的用例正在获取资源规范,更改属性,然后使用更改后的完整规范来替换现有资源。
kubectl replace命令有一个 --force实际上不使用替换的选项,即 PUT , API 端点。它使用提供的规范强制删除( DELETE )然后重新创建( POST )资源。

关于kubectl - kubectl apply 和 kubectl replace 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47241626/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com