Установите дополнительный плагин rabbitmq с github, используя диаграмму bitnami / rabbitmq

#kubernetes #rabbitmq #kubernetes-helm #bitnami

#kubernetes #rabbitmq #kubernetes-helm #bitnami

Вопрос:

Цель: подготовить values.yaml файл для диаграммы rabbitmq, предоставленной bitnami, таким образом, чтобы плагин rabbitmq-message-deduplication был готов и доступен после запуска helm install ...

Предыдущее решение: в настоящее время я использую stable/rabbitmq-ha диаграмму со следующим values.yaml :

 extraPlugins: "rabbitmq_message_deduplication"

extraInitContainers:
  - name: download-plugins
    image: busybox
    command: ["/bin/sh","-c"]
    args: ["
      wget
          -O /opt/rabbitmq/plugins/elixir-1.8.2.ez/elixir-1.8.2.ez
          https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez
          --no-check-certificate
      ;
      wget
          -O /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez/rabbitmq_message_deduplication-v3.8.4.ez
          https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/rabbitmq_message_deduplication-v3.8.x_0.4.5.ez
          --no-check-certificate
      "]
    volumeMounts:
      # elixir is a dependency of the deduplication plugin
      - name: elixir
        mountPath: /opt/rabbitmq/plugins/elixir-1.8.2.ez
      - name: deduplication-plugin
        mountPath: /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez

extraVolumes:
  - name: elixir
    emptyDir: {}
  - name: deduplication-plugin
    emptyDir: {}

extraVolumeMounts:
  - name: elixir
    mountPath: /opt/rabbitmq/plugins/elixir-1.8.2.ez
    subPath: elixir-1.8.2.ez
  - name: deduplication-plugin
    mountPath: /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez
    subPath: rabbitmq_message_deduplication-v3.8.4.ez
  

Это работает нормально. Однако stable/rabbitmq-ha в следующем месяце он исчезнет, и поэтому я перехожу на bitnami/rabbitmq .

Проблема: bitnami/rabbitmq ожидается values.yaml в другом формате, и я ни за что на свете не могу понять, как мне настроить новый values.yaml файл для достижения того же результата. Я пытался возиться с command , args initContainers но я просто не могу это сделать…

PS У меня есть кластер, работающий локально с использованием minikube. Я не считаю, что это актуально, но на всякий случай добавляю это здесь.

ОБНОВЛЕНИЕ: ответ Франциско действительно помог. Как-то я пропустил эту часть документации.

Мой новый .yaml выглядит так:

 communityPlugins: "https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/rabbitmq_message_deduplication-v3.8.x_0.4.5.ez"

extraPlugins: "rabbitmq_message_deduplication"
  

Плагин работает так, как я хотел, и с гораздо меньшей конфигурацией. Хороший материал.

Ответ №1:

Спасибо, что выбрали нашу диаграмму! Наша диаграмма [bitnami / rabbitmq] использует этот параметр communityPlugins для установки новых плагинов и extraPlugins их включения. Например, чтобы включить elixir плагин, вы можете попробовать изменить values.yaml на:

 communityPlugins: "https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez"

extraPlugins: "rabbitmq_auth_backend_ldap elixir"
  

Для получения дополнительной информации, пожалуйста, загляните в раздел плагинов в нашем README и задайте дополнительные вопросы, если вам нужно!