Deepstream.io on Kubernetes cluster

11/16/2017

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
-- Sheik-Masha
deepstream.io
docker-compose
kubernetes

1 Answer

12/1/2017

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.

-- Suraj Narwade
Source: StackOverflow