Я хочу запустить 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 мин) после развертывания.