在Helm图表中使用Requirements.lock文件

时间:2018-12-10 09:09:19

标签: kubernetes-helm

我正在尝试了解Requirements.lock文件的用法。对于使用从属图表,我们可以使用Requirements.yaml。根据文档

  

Requirements.lock :根据requirements.lock文件重建图表/目录

     

Requirements.yaml :根据以下内容更新图表/   requirements.yaml

有人可以解释锁文件的区别和用法吗,我们是否也需要检查存储库中的requirements.lock文件?

1 个答案:

答案 0 :(得分:2)

This article说得很好:

  

与运行时语言依赖文件(例如Python的requirements.txt)非常相似,requirements.yaml文件可让您管理图表的依赖及其版本。更新依赖项时,将生成一个锁定文件,以便后续获取依赖项时使用已知的有效版本。

requirements.yaml 文件仅列出图表所需的直接依赖项。这使您可以更轻松地关注图表。

requirements.lock 文件列出了直接依赖项依赖项依赖项的确切版本,等等。这使helm可以精确地跟踪整个依赖关系树并完全按照上一次工作的方式重新创建它-即使某些依赖关系(或它们的依赖关系)以后会更新。

大致是这样的:

  1. 您创建初始的 requirements.yaml 文件。您运行helm install,并且 helm 在构建依赖关系树时会创建 requirements.lock 文件。
  2. 在下一个helm install上, helm 将确保其使用在 requirements.lock 文件中标识的相同版本。
  3. 稍后,您将更新 requirements.yaml 文件。您运行helm install(或helm upgrade)后,帮助会注意到您所做的更改,并更新 requirements.lock 文件以反映这些更改。