Настроить каталог плагинов для Hashicorp Vault на GKE - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь зарегистрировать плагин для хранилища, настроенного на GKE.

Однако, когда я пытаюсь зарегистрировать плагин, я получаю сообщение об ошибке: * не удалось установить плагин, каталог плагинов не настроен

Кто-нибудь знает, как я могу установить каталог плагинов и добавить репозиторий github для плагина в этот каталог.

Я считаю, что это нужно сделать в конфигурационном файле хранилища, но не знаю, как это достигается на GKE.

1 Ответ

1 голос
/ 12 марта 2020

Если у вас есть настройки, аналогичные описанным в руководстве Использование HashiCorp Vault в GKE , вы можете установить plugin_directory в переменной среды $VAULT_LOCAL_CONFIG для контейнера vault в StatefulSet, например:

$ kubectl edit statefulset vault
    spec:
    ...
      template:
      ...
        spec:
        ...
          containers:
          ...
          - args:
            ...
            env:
            ...
            - name: VAULT_LOCAL_CONFIG
              value: |
                plugin_directory = "/etc/vault/plugins"
                ...

Для добавления двоичного файла плагина в plugin_directory для всех модулей вы можете, например, использовать том gcePersistentDisk или просто сделать так, чтобы контейнер загружал его запускать. Например, я мог бы зарегистрировать этот vault-auth-plugin-example плагин с $ vault write sys/plugins/catalog/example-auth-plugin sha_256=$SHA256 command="vault-auth-plugin-example" после добавления этих массивов command и args в vault StatefulSet:

$ kubectl edit statefulset vault
    spec:
    ...
      template:
      ...
        spec:
        ...
          containers:
          ...
          - args:
            ...
            name: vault
            command: ["/bin/sh"]
            args: ["-c", "(mkdir -vp /etc/vault/plugins && cd /etc/vault/plugins && wget -O- https://github.com/hashicorp/vault-auth-plugin-example/releases/download/v0.1.0/vault-auth-plugin-example_0.1.0_linux_amd64.tgz | tar xzf -) && docker-entrypoint.sh server"]
            ...
...