我正在尝试使用 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 }}
还尝试将变量占位符放在引号之间,但结果相同。
这是正确的方法吗?
这行不通...
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 }}