26、Kubernetes 应用开发与持续部署全解析

Kubernetes 应用开发与持续部署全解析

1. Helm 钩子的使用

在 Kubernetes 中使用 Helm 进行部署时, helm.sh/hook 属性在注解部分定义,示例如下:

annotations:
  "helm.sh/hook": pre-upgrade
  "helm.sh/hook-delete-policy": hook-succeeded
  • pre-upgrade 设置告知 Helm 在进行升级之前应用此作业清单,该作业将运行标准的 Rails 迁移命令。
  • "helm.sh/hook-delete-policy": hook-succeeded 表示如果作业成功完成(即退出状态为 0),Helm 将删除该作业。
处理失败的钩子

如果作业返回非零退出代码,则表明出现错误,迁移未成功完成。Helm 会将作业保留在失败状态,以便你调试问题。此时,发布过程将停止,应用程序不会升级。你可以通过运行 kubectl get pods 查看失败的 Pod,检查日志以了解发生了什么。解决问题后,可使用 kubectl delete job <job-name> 删除失败的作业,然后再次尝试升级。另外,也可以添加 ttlSecondsAfterFinished 字段自动清理失败的作业。

其他
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值