有没有一种声明性的方式来在kuberenetes集群中安装头盔图表

时间:2019-03-13 17:04:42

标签: kubernetes kubectl kubernetes-helm azure-aks

我只是想知道是否有人想出一种声明式的方式来将头盔图表安装/配置为集群启动的一部分,并且可以将其检查到源代码控制中。使用Kuberenetes,我已经非常习惯“一切皆为代码”类型的工作流程,并且我意识到安装和配置Helm主要基于CLI的命令性工作流程。

我问的原因是因为目前我们的集群正在开发中,并将在生产中重新创建它。我们的大多数配置都是通过deploy.yaml文件以声明方式完成的。但是,我们花费了大量时间来安装和配置某些头盔图表(例如,普罗米修斯,格拉芬娜等)

2 个答案:

答案 0 :(得分:3)

helmfilehelmsman之类的工具,可让您将要安装的Helm版本声明为代码。

以下是helmfile.yaml这样做的示例:

releases:
  # Published chart example
  - name: promnorbacxubuntu         # name of this release
    namespace: prometheus              # target namespace
    chart: stable/prometheus             # the chart being installed to create this release, referenced by `repository/chart` syntax
    set:                                   # values (--set)
      - name: rbac.create
        value: false

运行helmfile charts将确保已安装所有列出的发行版

答案 1 :(得分:0)

我的团队也遇到了类似的问题,我们通过运营商解决了。而关于算子最好的部分是有3种,其中一种是基于Helm的。

因此,您可以使用Helm Based Operator,创建一个关联的CRD,然后在此处声明您的配置。然后,这些配置将直接移植到Helm图表中,而您(作为用户)则无需执行任何操作。