Create Resource Pools

Create resource pools in Hydrolix with the UI, API, or hydrolixcluster.yaml

Overview

You can create resource pools to dedicate CPU, memory, storage, and replicas for specific workloads.
You can create pools manually with the UI, API, or hydrolixcluster.yaml, and Hydrolix automatically creates them when you configure certain sources.

Create pools in the UI

Create, delete, and edit pools anywhere in the UI.

  1. From the top nav, select Add new > Resource pool.
  2. Fill in the required fields.
    • Service and Name are required.
    • All other fields are optional and have defaults.
  3. Save your changes.

See Scale settings for field descriptions and example values.

Create pools with the API

To create a pool with the API, use the Create Pool endpoint.

{
  "settings": {
    "k8s_deployment": {
      "service": "intake-head",
      "storage": "2Gi",
      "cpu": "1",
      "replicas": "1",
      "memory": "2Gi"
    }
  },
  "name": "intake-pool",
  "description": "A brief but helpful description"
}

Create pools with hydrolixcluster.yaml

Define resource pools directly in your cluster config under the spec section.

You can create pools as a list or as a dictionary.

As a list

spec:
  pools:
  - name: "intake-pool"
    service: "intake-head"
    cpu: 1
    memory: 2Gi
    replicas: 1
    storage: 2Gi
    annotations:
      description: "A brief but helpful description"

As a dictionary:

spec:
  pools:
    new-pool1:
      cpu: 1
      memory: 1Gi
      replicas: 5
      service: intake-head
    new-pool2:
      cpu: 1
      memory: 1Gi
      replicas: 6
      service: query-peer
      storage: 1Gi

Apply the configuration:

kubectl apply -f hydrolixcluster.yaml

Create pools automatically

Hydrolix creates pools automatically when you configure these table sources:

These pools inherit defaults from the source config, and can only be updated, not created or deleted manually.

See Update an automatic pool.

Related