как настроить базовый rabbitmq на kubernetes - PullRequest
0 голосов
/ 22 мая 2019

Мне нужно настроить базовый экземпляр rabbit mq (без настройки кластера) без требований постоянства или безопасности в кластере kubernetes.

Что мне нужно:

Один модуль кролика mq, работающий с состояниемустановите с репликами = 1 и достигните его изнутри и снаружи кластера через определенный URL-адрес (порт amgp и порт интерфейса управления)

Что мне не нужно:

  • постоянство
  • security
  • настройка кластера

Диаграммы рулевого управления, которые я нашел до сих пор, относятся к рабочим настройкам с кластеризацией, постоянством и т. Д., Но мне это не нужновещи, как я буду использовать экземпляр только для тестирования

Это то, что у меня есть до сих пор:

apiVersion: v1
kind: Service
metadata:
  name: rs-rmq-mgt
spec:
  selector:
    app: rs-rmq
  ports:
  - protocol: TCP
    port: 1337
    targetPort: 15672
  type: NodePort
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rs-rmq
spec:
  selector:
    matchLabels:
      app: rs-rmq
  serviceName: "rs-rmq"
  replicas: 1
  template:
    metadata:
      labels:
        app: rs-rmq
    spec:
      containers:
      - name: rs-rmq
        image: rabbitmq:management
        ports:
        - containerPort: 25672
        - containerPort: 5672
        - containerPort: 4369
        - containerPort: 15672

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Правильный способ сделать это - установить rabbitmq через выделенную таблицу helm ( stable / rabbitmq ) с помощью helm (менеджер пакетов Kubernetes). Основная причина этого: этот способ тщательно протестирован и проверен сообществом открытого кода.

Если вы хотите воспользоваться ярлыком, обратитесь к следующей задаче на официальном сайте Kubernetes: Запуск службы очереди сообщений (rabbitmq). Там вы найдете ссылки на все необходимые файлы манифеста.

0 голосов
/ 22 мая 2019

Если вам не нужно больше, чем реплика и постоянные. Вы можете пойти с простым развертыванием pod, а не sts. Пожалуйста, обратитесь sts doc

kubectl run rabbitmq --image=rabbitmq:management --expose --port=15672 --restart=Never
--dry-run -o yaml > rabbitmq.yml

Отредактируйте соответствующие порты контейнера и создайте модуль.

kubectl create -f rabbitmq.yml

Выставить сервис как NodePort.

kubectl expose po rabbitmq --port 15672

Теперь вы можете получить к нему доступ через

NodesIP: NodePort

и внутренне с помощью

[SVC]. [Имена] .svc * * одна тысяча двадцать-одна

...