Resource requirements & configuration

Configuring resource requests and limitations in Kubernetes is important to ensure the application runs stable and performs as expected. Therefore, there are some reasonable resource requests in the Helm charts, which get applied by default. The default resource request is 1 CPU and 8 GiB of RAM, for both the importer and API server deployment. There are no resource limits by default.

You can either reduce the resource requirements, at the cost of stability, or give more resources to the cluster, supporting the workload. Pods can fail to start, or become stuck in a "Pending" state, if resource requirements are not meet.

To learn more about Kubernetes resource management, read Resource Management for Pods and Containers.

Modifying the resource requests and limits

You can configure resource requirements by updating Trusted Profile Analyzer’s Helm chart "values" file. After making changes to the "values" file, you need to apply those changes by running the helm update command.

The following example shows the relevant sections of the values file:

modules:
  importer:
    resources: (1)
      requests:
        memory: "12Gi"
  server:
    resources: (2)
      requests:
        memory: "16Gi"
        cpu: 4
      limits:
        cpu: 8
1 Resource configuration for the "importer" deployment
2 Resource configuration for the "API server" deployment

The pod’s container uses these resources as defined under the resources section for the importer feature and the API server.

Reducing the resource requests below the default values can lead to degraded performance or instability of the application.