Как установить несколько аргументов с помощью postgress helm 3.0 - PullRequest
0 голосов
/ 25 марта 2020

Я хочу установить slave.extraVolumes, как показано ниже.

helm install my-db --set replication.enabled=true,slave.extraVolumes={"db-disk-1","db-disk-2"} bitnami/postgresql -n development

Но там написано ошибка

Error: expected at most two arguments, unexpected arguments: bitnami/postgresql

Уже проверены способы:

helm install my-db --set replication.enabled=true,slave.extraVolumes={db-disk-1,db-disk-2} bitnami/postgresql -n development
Error: expected at most two arguments, unexpected arguments: bitnami/postgresql

helm install my-db --set replication.enabled=true,slave.extraVolumes="db-disk-1\,db-disk-2" bitnami/postgresql -n development
Error: YAML parse error on postgresql/templates/statefulset-slaves.yaml: error converting YAML to JSON: yaml: line 115: could not find expected ':'

1 Ответ

2 голосов
/ 25 марта 2020

Есть (по крайней мере) три вещи:

  • slave.extraVolumes - это список из Volume структур , так что просто предоставление двух имен не сделает этого
  • вы используете символы, которые имеют значение для оболочки, без кавычек
  • , но в конце это не имеет значения, потому что вы не можете представлять сложные структуры, используя только с синтаксисом --set, вам понадобится --values с файлом или с подстановкой процесса
helm install my-db \
   --set replication.enabled=true \
   --values <(echo '{
      "slave": {
        "extraVolumes": [
          {
            "name": "db-disk-1",
            "emptyDir": {}
          },
          {
            "name": "db-disk-2",
            "emptyDir": {}
          }
        ]
      }
   }') \
   bitnami/postgresql -n development
...