Невозможно запустить образ RabbitMQ в кластере AKS - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь запустить образ RabbitMQ в моем кластере AKS.Виртуальные машины, входящие в состав кластера, находятся в частной сети VNET и имеют правила брандмауэра.

То, что необходимо разрешить через брандмауэр, неясно (или если это даже проблема).

Вот вывод при запуске модуля:

BOOT FAILED

Ошибка генерации файла конфигурации: не удалось создать грязный поток планировщика io 6, ошибка = 11

Дамп сбоязаписывается в /var/log/rabbitmq/erl_crash.dump... Ошибка сегментации (ядро сброшено)

{"init, заканчивающийся в do_boot", generate_config_file} init, заканчивающийся в do_boot (generate_config_file)

Сбой аварийного дампа записывается в: /var/log/rabbitmq/erl_crash.dump...done

Я подключил постоянные тома к / var / log и / var / lib / rabbitmqно нет никаких файлов журнала или чего-либо еще, что помогает в устранении этой проблемы.Схема, lost + found и другие папки и файлы rabbitmq созданы, поэтому он отлично подходит для чтения / записи.

Вот YAML, который я использую для создания модуля:

   apiVersion: extensions/v1beta1
   kind: Deployment
   metadata:
     name: mayan-broker
   spec:
     replicas: 1
     template:
      metadata:
       labels:
         app: mayan-broker
      spec:
        containers:                           
         - name: mayan-broker
           image: rabbitmq:3
           volumeMounts:
           - name: broker-storage
             mountPath: /var/lib/rabbitmq
           - name: broker-logging
             mountPath: /var/log/rabbitmq
           ports:
             - containerPort: 5672
           env:
               -  name: RABBITMQ_DEFAULT_USER
                  value: mayan
               -  name: RABBITMQ_DEFAULT_PASS
                  value: mayan
               -  name: RABBITMQ_DEFAULT_VHOST
                  value: mayan      
        volumes:
         - name: broker-storage
           persistentVolumeClaim:
             claimName: rabbit-claim    
         - name: broker-logging
           persistentVolumeClaim:
             claimName: logging-claim

YAMLбез томов и монтирований на запрос, что дает тот же результат:

   apiVersion: extensions/v1beta1
   kind: Deployment
   metadata:
     name: mayan-broker
   spec:
     replicas: 1
     template:
      metadata:
       labels:
         app: mayan-broker
      spec:
        containers:                           
         - name: mayan-broker
           image: rabbitmq:3
           ports:
             - containerPort: 5672
           env:
               -  name: RABBITMQ_DEFAULT_USER
                  value: mayan
               -  name: RABBITMQ_DEFAULT_PASS
                  value: mayan
               -  name: RABBITMQ_DEFAULT_VHOST
                  value: MAYAN     

1 Ответ

0 голосов
/ 05 июня 2019

Для вашей проблемы, когда вы монтируете том в путь /var/lib/rabbitmq, вы закрываете rabbitmq.conf внутри образа докера rabbitmq:3. Так что вам просто нужно удалить volumeMounts с путем монтирования /var/lib/rabbitmq. Тогда это будет хорошо работать. Или вы можете создать PVC со своим собственным rabbitmq.conf внутри него.

Обновление:

Используйте правку yaml, как вы указали, она также хорошо работает, и скриншот ниже:

enter image description here

Вы также можете выполнить команду kubectl describe pods, чтобы проверить, есть ли другие ошибки. Кстати, вы должны обратить внимание на формат файла yaml, и вы также можете использовать постоянный том для хранения журналов.

...