1.如果镜像、副本数等配置有更新,则直接使用如下命令即可滚动更新:

kubectl apply -f xxx.yaml

2.也可以直接编辑,编辑完后也会直接更新服务:

kubectl edit deploy xxxx(deployment的名称)

3.在某些情况下,你可能需要更新某些初始化后无法更新的资源字段,使用如下命令来强制更新:

kubectl replace -f xxx.yaml

总结:

apply与replace的区别:

不同之处在于replace首先删除资源,然后从您提供的文件中创建资源;而apply尝试直接在当前活动资源中直接更新文件中赋予它的属性。即就地更新和破坏性更新。另外,apply仅适用于资源的某些属性;如果您需要更新不适用于apply的属性(对不起,双关语!),则必须使用replace。

kubectl create / replace 与kubectl apply 的区别

  • kubectl replace 的执行过程,是使用新的 YAML 文件中的 API 对象,替换原有的 API 对象
  • kubectl apply,则是执行了一个对原有 API 对象的 PATCH 操作。

TODO:

待补充实操过程

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐