带有附加资源(不含图表)的 Helmfile

问题描述 投票:0回答:2

我知道这可能是一个奇怪的问题,但我想问是否可以在没有单独图表的情况下管理单个资源(例如配置映射/秘密)?

F.e.我尝试安装 nginx-ingress,并想另外应用一个包含 http-basic-authentication 数据的秘密映射。

我可以直接在我的 helmfile 中引用 nginx-ingress-repo,但是我真的需要创建一个单独的 helm 图表来应用 http-basic-secret 吗?

我有许多版本需要单个附加资源(例如 json 配置映射、单个秘密),并且每个版本始终需要单独的图表文件会很麻烦吗?

谢谢!

kubernetes-helm kubernetes-ingress nginx-ingress helmfile
2个回答
2
投票

抱歉,Helmfile 仅管理整个 Helm 版本。

您可以使用几个逃生舱口。 Helmfile hooks 可以在主机上运行任意 shell 命令(与通常在集群中运行作业的 Helm hook 不同),因此原则上您可以

kubectl apply
挂钩中的文件。 Helmfile 还与 Kustomize 进行了一些集成,并且可以通过这种方式添加资源。 正如您所注意到的,您还可以编写本地图表并将您需要的任何 YAML 放入其中。

偶尔的图表支持包含任意额外资源或特定配置内容;

Bitnami MariaDB 图表,选择一个,支持将您想要的任何内容放在 extraDeploy

 值下。  您可以将其与 Helmfile 
values:
 结合使用来注入更多资源

releases: - name: mariadb chart: bitnami/mariadb values: - extraDeploy: - |- apiVersion: v1 kind: ConfigMap ...
    

0
投票
要为缺少

extraObjects

 的图表部署额外的对象,您还可以部署类似 
sysbee/kubedeploy
 图表的内容。

举个例子

helmfile.yaml


releases: - name: extra namespace: extra-namespace chart: "sysbee/kubedeploy" version: ^1.2.1 values: - extra.yaml
以及 

extra.yaml

 值文件

deploymentMode: None serviceAccount: create: false service: enabled: false extraObjects: - apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: ip-pool namespace: extra-namespace spec: addresses: - 10.1.0.0/16 autoAssign: true avoidBuggyIPs: false
确保包含 

deploymentMode: None

,并禁用服务帐户和服务。然后图表将除了您的 
extraObjects
 之外绝对不会部署任何其他内容。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.