Helm 3中有条件的依赖性部署不起作用

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

我正在使用Helm 3创建通用的go微服务图表。我想有条件地添加postgresql子图表。与documentation和其他question中一样,我首先添加对Chart.yaml的依赖性

dependencies:
- name: postgresql
  version: "8.9.1"
  repository: "https://charts.bitnami.com/bitnami"
  condition: postgresql.enabled

然后在values.yaml中创建此标志

#
# enable pgsql subchart to be deployed
#
postgresql:
  enabled: false

然后,我使用--set postgresql.enabled=true|false来切换是否要部署db statefulset。

根据我的CWD(当前工作目录)运行helm 3 CLI,我得到一些奇怪的行为。如果我与图表位于同一目录中并运行(请注意末尾的.):

helm install my-chart --set postgresql.enabled=true --set postgresql.postgresqlPassword=password --set postgresql.postgresqlDatabase=test .

它正常工作,并且数据库已部署。

但是,如果我从另一个目录调用安装并提供相对路径,或者即使我正在使用Ansible运行相同的CLI行,则数据库将永远不会部署,例如:

helm install my-chart --set postgresql.enabled=true --set postgresql.postgresqlPassword=password --set postgresql.postgresqlDatabase=test ../my-chart-repo/charts/my-chart/

这可能是错误吗?我做错什么了吗?

编辑

在shell脚本中运行安装时也遇到同样的问题(未部署数据库:)>

helm_install() {
  CWD=$(pwd)
  cd "../my-helm-charts/$1" || error_exit 'Unable to find helm chart dir'

  helm dependency update
  helm dependency list

  if [ -n "${DEPLOYDB}" ]; then
    echo '####################'
    echo 'Enabling postgresql'
    echo '####################'
    set -x
    helm install "$1" \
      --set postgres.enabled=true \
      --set postgresql.postgresqlPassword=password \
      --set postgresql.postgresqlDatabase=test .
    set +x
  else
    helm install "$1"
  fi

  cd "${CWD}" || error_exit 'Unable to return to origin dir'
}

我正在使用Helm 3创建通用的go微服务图表。我想有条件地添加postgresql子图表。像在文档中和其他问题一样,我首先将此依赖关系添加到图表中。...

postgresql kubernetes charts kubernetes-helm
1个回答
0
投票

已通过头盔v3.1.2版进行检查。通过提供图表的相对路径,可以有条件地部署依赖项。这是命令,我以前检查过:-

$helm install test --set postgresql.enabled=true ../test/
© www.soinside.com 2019 - 2024. All rights reserved.