[stable/influxdb] Adds support for InfluxDB Enterprise (#19625)
* Adds support for InfluxDB Enterprise
Follows the newly introduced pattern of StatefulSets for pods, extending InfluxDB's
sts and allowing parameter for it's ReplicaSet, and adds a new sts for InfluxDB
"meta nodes" which hold distribution state for InfluxDB's high availability and
horizontal scaling.
Documentation for these new features has been added, but I can not stress enough
how important it is to follow, as Enterprise not only uses different container
images for meta containers, but also expects new container images for InfluxDB
(appropriately labeled `data` in Docker Hub) which in my experience was easy to
miss if a user is following one set of [instructions](https://docs.influxdata.com/enterprise_influxdb/v1.7/install-and-deploy/production_installation/data_node_installation/) over [another](https://hub.docker.com/_/influxdb).
A caveat of trade off of deploying Enterprise is an expectation of human
interaction when creating or scaling the cluster (`influxd-ctl` usage). This
makes Enterprise decidedly not "cloud native", but is less obnoxious when using
a StatefulSet with PVCs, and no pod auto-scaling, of which I suppose is unlikely
given InfluxData's approach to licensing.
Still forcing k8s operator involvement feels "bad", and I left in provisions to
improve this expectation in a later version, namely a headless service and using
`publishNotReadyAddresses`, such that a pod can use the Service to find
available `influxdb-meta` and `influxdb` pods to create/join an InfluxDB
cluster.
Signed-off-by:
Weston Johnson <wgj@automox.com>
* Adds missing newline at end of file
Signed-off-by:
Weston Johnson <wgj@automox.com>
* Add reference links for InfluxDB Enterprise
Signed-off-by:
Weston Johnson <wgj@automox.com>
* Bump version
Signed-off-by:
Weston Johnson <wgj@automox.com>
* Remove bad whitespace that sneaked in
Signed-off-by:
Weston Johnson <wgj@automox.com>
* Hard code headless service for metadata
Metadata service is a StatefulSet, so it doesn't make sense to let users
to set the k8s service to anything but ClusterIP::None. This is true for
the StatefulSet for InfluxDB data pods, but that will be fixed in a
subsequent PR. When that happens, the Enterprise section of README.md
should be updated to remove references to ClusterIP::None.
Signed-off-by:
Weston Johnson <wgj@automox.com>
Showing
Please
register
or
sign in
to comment