bloomberg / bloomberg/comdb2

Kubernetes for comdb2

Open
#926 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
1.5k
Forks
243
Avg merge
2d 2h
Merged PRs (30d)
37

Description

Create a Kubernetes stateful set cluster for comdb2.

* Provide one pooled access port for comdb2 for outside services.
* Use kubernete's headless service to assign hostnames to every comdb2 statefulset
* Provide tls encryption. There's a built in method for openshift, but plain kubernetes requires the use of something like easyrsa / manual kubernetes commands.
* pmux is a separate service? Not sure if it must be on the same node as the comdb2
* Review https://github.com/bloomberg/comdb2/tree/master/contrib/docker and create a centos 7 image
* Break apart launching pmux and launching the database. The standard in docker is that one program is ran and failure of that program means the docker is restarted. Currently there is two A) pmux B) comdb2
* Make the database name an environmental variable
* Provide a way to scale nodes. Perhaps always ship the contents of the first node to the newest node when the statefulset's replica count is increased.
* Recreate the database settings (lrl?) every docker startup so that options are synced with the configuration
* Statefulsets generally requires that the database, the configuration and the logging data be in a volume. This is anything that is different per launch.
* Openshift requires the userid to be randomized. There may be comdb2 problems.

Hi comdb2 team, can you answer some of these questions and comment on the approach?

Contributor guide

Open the contributing guide

Research direction

Start by reviewing contrib/docker and the existing comdb2 container setup. Resolve the open questions around pmux, TLS, StatefulSet services, persistent volumes, scaling, startup configuration, and randomized user IDs before defining the implementation. Done means a documented Kubernetes deployment supports the requested networking, security, storage, and scaling behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes
Domain
databases, devops, distributed-systems, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.