Skip to main content
Version: Release 24.1

Setting Up Resource Sizing for Release

Starting with Digital.ai Release version 24.1.4, you can efficiently manage Kubernetes resources (CPU & Memory) during installation through xl-cli. This guide explains how to configure container resources for each pod using requests and limits specifications, focusing primarily on CPU and Memory allocation.

Ways to Specify Resources

You can configure resources in three different ways:

  1. Custom Resources: For production environments, specify resource requirements using YAML input with precise values (recommended).
  2. Resource Presets: Choose from predefined resource configurations that best match your needs.
  3. Manual CR File Modification: While not recommended, this approach can be used when:
    • No resource allocation option is selected during installation
    • Existing resource specifications need modification

Installation Options

During installation, you'll be prompted with these resource-related questions:

note

The resource sizing configuration affects how your pods will perform in the Kubernetes cluster. Choose values appropriate for your environment.

  • Select source of the resource values (CPU and memory): [preset, editor, none]

Your selection determines the subsequent configuration steps:

Using Resource Presets

If you select 'preset', choose from these predefined configurations:

[micro, small, medium, large, xlarge, 2xlarge]

Each preset includes predefined requests and limits for CPU and Memory. For detailed resource values, see the Installation Options Reference.

Using Custom Resource Editor

If you select 'editor', you'll be prompted to specify custom resource values:

resources:
requests:
cpu: 1
memory: 2Gi
limits:
cpu: 2
memory: 4Gi

Manual Resource Configuration

If you select 'none', you'll need to manually specify resources in these sections of the CR YAML:

.spec.resources
.spec.nginx-ingress-controller.resources
.spec.haproxy-ingress.resources
.spec.postgresql.resources
.spec.rabbitmq.resources

Upgrade Considerations

When upgrading, resource configurations are handled as follows:

important

It's recommended to specify resources for production environments to ensure predictable performance.

  • Existing Resource Configurations: If you previously specified resources (preset or custom), these values are preserved during upgrade.
  • No Previous Resource Configuration: If upgrading from a version without resource sizing support:
    • No default resources are set after upgrade
    • Manual specification through CR YAML is required
  • Manual Resource Specifications: Any resources manually specified in the CR YAML are preserved during upgrade.
warning
  1. The 'nano' preset is suitable for testing environments only, not for production use.
  2. When using the 'haproxy-ingress' controller, you must define custom resource values as presets are not available.