With StatefulSet we get:
- unique Broker IDs generated during Pod startup
- networking between brokers with headless services
- unique Persistent Volumes for Brokers
Using StatefulSet we lose:
- the ability to modify the configuration of unique Brokers
- to remove a specific Broker from a cluster (StatefulSet always removes the most recently created Broker)
- to use multiple, different Persistent Volumes for each Broker
other considerations:
design operator to be open for multiple backends (AWS K8S Controller, Terraform (?))
add support for monitoring with Prometheus Operator
Package v1alpha1 contains API Schema definitions for the eventstream v1alpha1 API group +kubebuilder:object:generate=true +groupName=eventstream.vectorized.io
Package v1alpha1 contains API Schema definitions for the eventstream v1alpha1 API group +kubebuilder:object:generate=true +groupName=eventstream.vectorized.io