-
Notifications
You must be signed in to change notification settings - Fork 1
Description
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.replicasdatanode.replicas
CPU:
graylog.custom.resources.limits.cpudatanode.custom.resources.limits.cpu
Memory:
graylog.config.serverJavaOptsdatanode.config.javaOptsgraylog.custom.resources.limits.memorydatanode.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.