【问题标题】:How to delete helm release older than 1 month如何删除超过 1 个月的 helm 版本
【发布时间】:2020-09-25 20:58:22
【问题描述】:

我知道我可以使用 helm ls --tiller-namespace <tiller-namespace> 列出所有 helm 发布

我可以使用什么命令来删除超过 1 个月的 helm 版本?

【问题讨论】:

标签: kubernetes-helm


【解决方案1】:

您可以使用下面的 shell 脚本,它获取所有版本列表,并使用 helm lsjq 实用命令在几秒钟内完成最后一次部署;然后循环遍历发布列表并对其已部署的天数进行一些减法,然后删除超过一个月的发布。按月,我刚刚给了30 days

#!/bin/bash
#Store the release names alone for a specific tiller.
helm_releases=(`helm ls --short --tiller-namespace "kube-system"`)
#Store current date
CURRENT_TIME_SECONDS=`date '+%s'`
for RELEASE in ${helm_releases[@]};
do
  LAST_DEPLOYED_SECONDS=`helm status $RELEASE --tiller-namespace "kube-system" --output=json | jq -r '.info.last_deployed.seconds'`
  SEC_DIFF=`expr $CURRENT_TIME_SECONDS - $LAST_DEPLOYED_SECONDS`
  DAY_DIFF=`expr $SEC_DIFF / 86400`
  if [ "$DAY_DIFF" -gt 30 ]; then
    echo "$RELEASE is older than a month. Proceeding to delete it."
    helm delete --purge --no-hooks $RELEASE
  fi
done

您仍然可以通过计算一个月的秒差来定义自己的逻辑。 请注意,我已经明确提到了--tiller-namespace。如果您的版本部署在使用除 kube-system 以外的分蘖的命名空间中,则可以使用它。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多