Skip to content

Support Cluster Size Presets #23

@williamtrelawny

Description

@williamtrelawny

It would be useful to have presets established for users to deploy clusters based on our generally accepted sizing guides, which exist both in our documentation as well as additional internal resources as well. Note that the below suggestions deviate from these guides because of the resource-efficient nature of containers. The original guides were written for VM deployments.

Presets would adjust the following values for both Graylog and Datanode in the Chart. MongoDB can be excluded for the time being as our Chart currently only supports a 3-pod deployment which is suitable for almost all use cases.

Replicas:

  • graylog.replicas
  • datanode.replicas

CPU:

  • graylog.custom.resources.limits.cpu
  • datanode.custom.resources.limits.cpu

Memory:

  • graylog.config.serverJavaOpts
  • datanode.config.javaOpts
  • graylog.custom.resources.limits.memory
  • datanode.custom.resources.limits.memory

I also think we should use the common "t-shirt" sizing terminology instead of the "core/conventional" terms used in docs, mainly because docs doesn't get as granular as our internal sizing guide does, so we'd need more terms anyway.

For example (components are represented as a tuple of the form (n of replicas, CPU/server, RAM/server [GB]):

Preset Graylog Datanode Note
(default) (2, 1, 1) (3, 0.5, 3.5) Default values if no preset is used
poc (1, 1, 1) (1, 0.5, 3.5) For POC use in testing on single-node non-prod environments
xs (1, 2, 4) (1, 1, 4) For <10GB/day log volume
small (1, 2, 4) (2, 2, 8) For 10-20GB/day log volume
medium (2, 4, 8) (2, 4, 16) For 20-50GB/day log volume
large (2, 4, 8) (3, 4, 16) For 50-100GB/day log volume
xl (3, 4, 8) (4, 4, 16) For 100-300GB/day log volume
xxl (4, 4, 8) (6, 4, 16) For 300-500GB/day log volume

These will all need testing of course, which is going to require a lot of time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions