Результаты поиска для

    Show / Hide Table of Contents

    Установка брокера сообщений RabbitMQ

    Для установки RabbitMQ необходимо определить переменную RABBITMQ_PASSWORD, содержащую пароль. Также можно настроить размер тома для очереди брокера сообщений.

    Добавление чарта и обновление helm репозитория.

    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    

    Создать пространство имён для RabbitMQ.

    kubectl create namespace rabbitmq
    
    

    Установка RabbitMQ может варьироваться от типа установки. Ниже приведены два примера - для облачного провайдера и для установки на тестовой конфигурации.

    Установка на облачном хостинге

    Нижеприведённый скрипт использует размер очереди 10 Гб.

    export RABBITMQ_PASSWORD="<пароль для RabbitMQ>"
    
    cat <<EOF > ./rabbitmq.yaml
    rabbitmq:
      extraConfiguration: |-
        #disk_free_limit.absolute = 10GB
        management.path_prefix = /rabbit
        #management.load_definitions = /app/load_definition.json
    persistence:
      enabled: true
      storageClass: hcloud-volumes
      size: 10Gi
    livenessProbe:
      commandOverride:
        - sh
        - -c
        - rabbitmq-api-check "http://user:\$RABBITMQ_PASSWORD@127.0.0.1:15672/rabbit/api/healthchecks/node" '{"status":"ok"}'
    readinessProbe:
      commandOverride:
        - sh
        - -c
        - rabbitmq-api-check "http://user:\$RABBITMQ_PASSWORD@127.0.0.1:15672/rabbit/api/healthchecks/node" '{"status":"ok"}'
    EOF
    
    helm upgrade \
      --install rabbitmq bitnami/rabbitmq \
      --namespace=rabbitmq \
      --values ./rabbitmq.yaml
    
    rm ./rabbitmq.yaml
    

    Пример минимальной установки RabbitMQ для разворачивания на тестовом кластере

    Нижеприведённая конфигурация использует размер очереди 4 Гб.
    Обратите внимание - данный пример является минимальным для запуска МоиОтчеты Корпоративный Сервер и описанная конфигурация томов не является отказоустойчивой.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      namespace: "rabbitmq"
      name: pv-for-rmq
      labels:
        name: mongo-volume-1-0-0
    spec:
      storageClassName: manual
      capacity:
        storage: 4Gi
      accessModes:
      - ReadWriteOnce
      hostPath:
        path: /devkube/rabbitmq
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: "rabbitmq-pvc"
      namespace: "rabbitmq"
    spec:
      accessModes:
      - ReadWriteOnce
      storageClassName: manual
      resources:
        requests:
          storage: 4Gi
    
    

    Выполните kubectl apply -f <имя вышеприведённого yaml> и собственно скрипт установки RabbitMQ. Обратите внимание, что используется ранее созданный PersistentVolumetClaim.

    helm upgrade \
      --namespace=rabbitmq \
      --install rabbitmq bitnami/rabbitmq  \
      --set persistence.existingClaim=rabbitmq-pvc \
      --set volumePermissions.enabled=true \
      --set ingress.tlsSecret="fr-corporate-tls" \
        | tee RabitMQ.txt
    
    
    

    Добавление конфигурации ingress

    Этот пункт необходим если вы хотите получить доступ к контрольной панели сервиса RabbitMQ извне кластера.

    export SERVER_DOMAIN_NAME="<доменное имя сервера>"
    
    cat <<EOF | kubectl apply -f -
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: fastreport.cloud-rabbitmq
      namespace: rabbitmq
      annotations:
        kubernetes.io/ingress.class: "nginx"
        nginx.ingress.kubernetes.io/rewrite-target: "/\$2"
        nginx.ingress.kubernetes.io/configuration-snippet: |
          rewrite ^(/rabbit)\$ \$1/ redirect;
    
    spec:  
      tls:
      - hosts:
        - $SERVER_DOMAIN_NAME
        secretName: fr-corporate-tls
      rules:
      - host: $SERVER_DOMAIN_NAME
        http:
          paths:      
          - path: /rabbit
            backend:
              serviceName: rabbitmq
              servicePort: 15672
    EOF
    

    Доступ по user ********.

    Вверх 2025.2.6 © 1998-2025 ООО «Быстрые отчеты»