Eventstore не работает в Kubernetes (но работает в Docker)

Я хочу запустить Eventstore в ноде Kubernetes. Я начинаю узел с minikube start, затем применяю этот файл yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: eventstore-deployment
spec:
  selector:
    matchLabels:
      app: eventstore
  replicas: 1
  template:
    metadata:
      labels:
        app: eventstore
    spec:
      containers:
      - name: eventstore
        image: eventstore/eventstore
        ports:
        - containerPort: 1113
          protocol: TCP
        - containerPort: 2113
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: eventstore
spec:
  selector:
    app: eventstore
  ports:
  - protocol: TCP
    port: 1113
    targetPort: 1113
---
apiVersion: v1
kind: Service
metadata:
  name: eventstore-dashboard
spec:
  selector:
    app: eventstore
  ports:
  - protocol: TCP
    port: 2113
    targetPort: 2113
    nodePort: 30113
  type: NodePort

развертывание, набор реплик и модуль запускаются, но ничего не происходит: Eventstore не печатает в журнале, я не могу открыть его панель управления. Также другие службы не могут подключиться к eventstore: 1113. Никаких ошибок и стручки не ломаются. Единственное, что я вижу в журналах, это «Выбранный контейнер еще не зарегистрировал никаких сообщений».

введите здесь описание изображения  введите описание изображения здесь

Я пробовал чистый ванильный узел minukube с разными драйверами vm, а также узел с настроенным Ambassador + Linkerd. Результаты такие же.

Но когда я запускаю Eventstore в Docker с этим файлом yaml через docker-compose

eventstore:
    image: eventstore/eventstore
    ports:
      - '1113:1113'
      - '2113:2113'

Все работает нормально: Eventstore выводит в журналы, другие службы могут подключаться к нему, и я могу открыть его панель управления на порту 2113.

ОБНОВЛЕНИЕ: Eventstore начал работать примерно через 30-40 минут после развертывания. Я пробовал несколько раз, и пришлось ждать. Остальные поды начинают работать практически сразу (30 секунд - 1 мин) после развертывания.


person ligowsky    schedule 29.10.2019    source источник
comment
Не могли бы вы предоставить дополнительную информацию? Я пытался воспроизвести ваш случай, но у меня все работает нормально. Достаточно ли было ресурсов на миникубе? Вы пробовали это на голом железе или у облачного провайдера?   -  person PjoterS    schedule 30.10.2019
comment
Может быть, указав ресурсы (более высокие значения, чем по умолчанию), процессор и память в файле yaml?   -  person Hackerman    schedule 31.10.2019
comment
@PjoterS да, проблема была в производительности ВМ. Теперь использую Kind вместо Minikube, и все работает как шарм   -  person ligowsky    schedule 31.10.2019


Ответы (1)


Как подтвердил @ligowsky в разделе комментариев, проблема связана с производительностью виртуальной машины. Разместите это как вики сообщества для лучшей наглядности.

Minikube по умолчанию работает с 2 CPUs и 2048 Memory. Более подробную информацию можно найти

person Community    schedule 31.10.2019