--record已被弃用,记录Kubernetes滚动更新命令的替代方案?
Kubectl --record弃用后的滚动更新变更记录方案
当--record参数被弃用后,官方推荐通过以下几种简便方式记录Deployment滚动更新的变更原因:
添加变更注释执行命令
在执行kubectl set image时,通过--annotations参数直接指定变更原因,命令示例:kubectl set image deployment/deploy1 nginx=nginx:1.16.0 --annotations kubernetes.io/change-cause="将nginx镜像版本更新至1.16.0"后续查看更新历史时,执行
kubectl rollout history deployment/deploy1,就能看到自定义的变更原因。在YAML配置中预先定义注释
若使用YAML文件管理Deployment,可在配置的metadata.annotations中添加kubernetes.io/change-cause字段,示例配置:apiVersion: apps/v1 kind: Deployment metadata: name: deploy1 annotations: kubernetes.io/change-cause: "升级nginx镜像到1.16.0版本" spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.16.0执行
kubectl apply -f deploy1.yaml完成更新后,变更原因会被同步到滚动更新历史中。通过kubectl edit实时添加注释
执行kubectl edit deployment/deploy1进入编辑界面,在metadata.annotations节点下添加kubernetes.io/change-cause字段,同时修改镜像版本,保存退出后,本次变更的原因会被记录。
这些方案的优势在于可以自定义更清晰的变更描述,而非仅记录命令本身,更便于后续追溯更新背景。
内容的提问来源于stack exchange,提问作者Arghya Roy
相关产品推荐
相关产品推荐

