k8s中的patch与update有什么区别

大家好,我现在需要给node更换label与taints,我希望用新的label去覆盖原有的,应该用patch还是update呢?谢谢,我使用的是golang的client-go.

最后疫情期间,祝大家身体健康

阅读 9.4k
1 个回答

通过源码(https://github.com/kubernetes... patch 就是你只需提供变更的json内容. k8s 自动帮你合并.

update 就是需要你提供完整的资源定义. 你写的啥就是啥.

?个?:
我有resouces a.

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: patch-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: patch-demo-ctr
        image: nginx
      tolerations:
      - effect: NoSchedule
        key: dedicated
        value: test-team

如果使用 patch 的话. 我只需要提供
patch.json

spec:
  replicas: 3

kubectl patch ./patch.json 就可以更新我的容器数量了.

如果你的资源文件不是特别大的话. 我个人比较推荐使用 update. 因为复杂性低一些.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题