Deepstream.io on Kubernetes cluster

581 views Asked by At

Is it possible to deploy DeepStream and Redis on multi-node cluster using Kubernetes?

Docker Compose option is available in DeepStreamHub (https://deepstreamhub.com/open-source/install/docker-compose/) but not finding Kubernetes YAML option.

The DeepStream + Redis + RethinkDB docker compose file content is:

version: '2'
services:
deepstream:
    build: "."
    ports:
        - "6020:6020"
        - "6021:6021"
    volumes:
        - ./conf:/usr/local/deepstream/conf
        - ./var:/usr/local/deepstream/var
    depends_on:
        - redis
        - rethinkdb
deepstream-search-provider:
    # build: "../deepstream.io-provider-search-rethinkdb/1.1.1"
    image: deepstreamio/deepstream.io-provider-search-rethinkdb
    environment:
        - DEEPSTREAM_HOST=deepstream
        - DEEPSTREAM_PORT=6021
        - RETHINKDB_HOST=rethinkdb
    depends_on:
        - deepstream
redis:
    image: redis:alpine
    ports:
        - "6379:6379"
rethinkdb:
    image: rethinkdb
    ports:
        - "28015:28015"
        - "8080:8080"
    volumes:
        - ./rethinkdb_data:/data/rethinkdb_data

PS: I tried to convert docker-compose.yml to Kubernetes YAMLs using kompose, but received following warnings:

WARN Unsupported depends_on key - ignoring
WARN Volume mount on the host "./conf" isn't supported - ignoring path on the host
WARN Volume mount on the host "./var" isn't supported - ignoring path on the host
WARN Volume mount on the host "./rethinkdb-data" isn't supported - ignoring path on the host
INFO Kubernetes file "deepstream-service.yaml" created
INFO Kubernetes file "deepstream-search-provider-service.yaml" created
INFO Kubernetes file "redis-service.yaml" created
INFO Kubernetes file "rethinkdb-service.yaml" created
INFO Kubernetes file "deepstream-deployment.yaml" created
INFO Kubernetes file "deepstream-claim0-persistentvolumeclaim.yaml" created
INFO Kubernetes file "deepstream-claim1-persistentvolumeclaim.yaml" created
INFO Kubernetes file "deepstream-search-provider-deployment.yaml" created
INFO Kubernetes file "redis-deployment.yaml" created
INFO Kubernetes file "rethinkdb-deployment.yaml" created
INFO Kubernetes file "rethinkdb-claim0-persistentvolumeclaim.yaml" created
1

There are 1 answers

0
Suraj Narwade On

Kompose doesn't support host volume mounting, Hence you can see logs that volume mount isn't supported. My suggestions is create volumes manually and put respective data. for example, conf & var file in deepstream service.