有什么方法可以清理/删除头盔存储库中的一些旧软件包?

时间:2018-12-26 02:15:59

标签: kubernetes kubernetes-helm

我们已经将AWS s3存储设置为Helm存储库。

但是随着开发的进行,越来越多的软件包文件被上载到S3。

我们想在S3中清理/删除旧文件,我知道我们不能直接从S3中删除它们,因为index.yaml中存储了一些映射信息。

我检查了helm help,有关此的信息很少。有什么正式的方法可以删除旧的头盔包?

5 个答案:

答案 0 :(得分:0)

无法使用helm清理旧软件包。 您可以使用github中的方法。

# !/bin/bash
# Remove all files in these directories.
rm -rf ~/.helm/cache/archive/*
rm -rf ~/.helm/repository/cache/*
# Refreash repository configurations
helm repo update
#That's all.
#If you "helm search" next time, you can find newest stable charts in repository

答案 1 :(得分:0)

要扩展VKR的答案,我们的头盔s3存储库中有不需要的软件包,希望摆脱它们。我采取了以下方法。

  1. 从s3存储桶下载了index.yml文件。删除了不需要的软件包的所有条目。将index.yml文件保存在本地。然后从s3存储桶中删除index.yml文件,并将修改后的新index.yml文件上传到s3。
  2. 删除s3中所有不需要的软件包,并在步骤1中将其条目从index.yml文件中删除。
  3. 清除了VKR答案中提到的缓存目录。
  4. 运行头盔存储库更新 一切都很好,不需要的所有软件包都不会出现在头盔搜索中。

答案 2 :(得分:0)

https://chartmuseum.com/docs/#helm-chart-repository

中所述

您可以使用Helm Museum API做到这一点

例如

# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/version

请注意版本,您必须为每个curl命中删除一个版本,这意味着如果您有2个版本,并且想要删除每个版本必须做的所有版本

# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/1.0.1
# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/1.0.2

ps: 您可以按

搜索应用的版本
# curl http://helm.chartrepo.url/index.yaml

答案 3 :(得分:0)

curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-<version-number>.tgz

如果您的掌舵仓库需要授权 curl -u username:password -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-<version-number>.tgz

curl -u username:password -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-0.1.0.tgz

我们正在使用人工制品作为我们的头盔仓库,所以这是一个例子 curl -u username:password -XDELETE https://ourartifactoryurl/artifactory/myrepo/myhelmchart/myhelmchart-0.1.0.tgz

答案 4 :(得分:0)

我建议您使用 helm-s3 插件并遵循以下两种方法之一来保持 Helm S3 存储库的清洁和最新:

1 ) 使用 helm s3 delete 从存储库中删除特定的图表版本:

$ helm s3 delete <some-chart> --version X.Y.Z <repo-name>

请注意,远程和本地 repo 索引都将自动更新。

2 ) 直接用 S3 API 删除旧的图表文件 (.tgz) 然后运行:

$ helm s3 reindex <repo-name>

它将根据存储库中的图表重新创建索引。