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:
待补充实操过程