使用 Ansible playbook 和自定义 value.yaml 部署 Helm 图表

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

我正在尝试使用 Ansible playbook 将带有自定义 value.yaml 文件的 ArgoCD Helm 图表部署到 Kubernetes 集群中

这是我正在使用的代码

- name: Deploy ArgoCD chart inside argocd namespace
  kubernetes.core.helm:
    name: argo
    chart_ref: argo/argo-cd
    release_namespace: argocd
    values_files:
      - /home/user/gitlab/ansible/roles/bootstrap-kubernetes/tasks/values.yaml.j2

在values.yaml 文件中,我添加了变量占位符来传递运行时值,例如本例中的集群名称

hostname: {{ variable_hostname }}

然而,查看 configmaps 详细信息,我发现变量占位符尚未被实际变量值替换。

hostname: {{ variable_hostname }}

还尝试将变量占位符放在引号之间,但结果相同。

这是正确的方法吗?

kubernetes ansible jinja2
1个回答
0
投票

这行不通...

values_files:
  - /home/user/gitlab/ansible/roles/bootstrap-kubernetes/tasks/values.yaml.j2

...因为

kubernetes.core.helm
模块的文档中没有任何内容表明 Ansible 将模板处理应用于
values_files
中列出的文件。

您可以使用内联

values
参数来代替,如下所示:

- name: Deploy ArgoCD chart inside argocd namespace
  kubernetes.core.helm:
    name: argo
    chart_ref: argo/argo-cd
    release_namespace: argocd
    values:
      hostname: {{ variable_hostname }}
© www.soinside.com 2019 - 2024. All rights reserved.