我想在Kubernetes节点中运行Eventstore。我使用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

部署,副本集和Pod启动,但什么也没发生:Eventstore不打印到日志,我无法打开其仪表板。另外,其他服务也无法连接到事件存储库:1113。没有错误, pod 也不会崩溃。
我在日志中看到的唯一是“所选容器尚未记录任何消息”。

docker - Eventstore在Kubernetes中不起作用(但在Docker中起作用)-LMLPHP
docker - Eventstore在Kubernetes中不起作用(但在Docker中起作用)-LMLPHP

我尝试了使用不同的vm驱动程序的干净的 Vanilla minukube节点,并且还配置了Ambassador + Linkerd。结果是一样的。

但是当我通过docker-compose在这个yaml文件中在Docker中运行Eventstore时
eventstore:
    image: eventstore/eventstore
    ports:
      - '1113:1113'
      - '2113:2113'

一切正常:Eventstore输出到日志,其他服务可以连接到它,我可以在2113端口上打开其仪表板。

更新:事件存储在部署大约30-40分钟后开始工作。我尝试了几次,不得不等待。部署后,其他Pod几乎立即开始工作(30秒-1分钟)。

最佳答案

正如@ligowsky在评论部分中确认的那样,问题是由于VM性能引起的。将其发布为社区Wiki以获得更好的可见性。

默认情况下,Minikube2 CPUs2048 Memory一起运行。可以在here中找到更多详细信息。

如果您的VM具有更多资源,则可以更改此设置。

-在Minikube中启动

$ sudo minikube start --cpus 2 --memory 8192 --vm-driver=<driverType>

-运行Minikube时,需要重新启动minikube
$ minikube config set memory 4096
⚠️  These changes will take effect upon a minikube delete and then a minikube start

可以在Minikube docs中找到更多命令。

Minikube资源为4CPU和8192内存的情况下,eventstore没有任何问题。

OP的解决方案

OP使用Kind运行eventstore部署。



可以在here中找到Kind文档。

关于docker - Eventstore在Kubernetes中不起作用(但在Docker中起作用),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58613793/

10-15 19:15