Provision C2 node pool for Redis
We want to deploy Redis to C2 instances to match our VM setup.
Background: https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/9636.
In redis-chart-sandbox we are using c2-standard-8 instances (source).
Specs:
| instance type | vCPUs | Memory |
|---|---|---|
| c2-standard-8 | 8 vCPUs | 32 GiB |
We usually size to have a minimum of 4 CPUs (plus a few more for sentinel and system services), and memory at 2x maxmemory (so that we can fit working set into page cache during recovery).
redis-ratelimiting does not need a lot of memory, so in this case we are primarily sizing for CPU. 4 CPUs seems a bit risky with sentinel and daemonsets also taking up resources. Redis itself needs 4 CPUs (main thread + 3 I/O threads). So provisioning 8 seems safer.
We're targeting 1 pod per box.
We should also set pod requests+limits accordingly, and ensure pods are placed in this node pool.