Datalore 2022.3 Help

Configure agents

You can change the default agents configuration in the datalore.values.yaml file.

Configure agents

  1. Configure agents.

    Under the agentsConfig key, fill in the fields to define agent types (such as Basic and Large machines in the cloud version of Datalore). It has the following schema:

    agentsConfig: k8s: namespace: <(Optional) namespace identifier> instances: - id: <Any string used as a unique identifier of this particular instance> label: <Instance name> description: <Short description of what the instance is> yaml: <Kubernetes config of Pod to be used for the instance> default: <(Optional) whether this instance is used by default> minAllowed: <(Optional) minimum number of instances to be preserved in the pool> maxAllowed: <(Optional) maximum number of instances to be preserved in the pool> - id: <Another type with the same schema as above> ...

    If you have Datalore installed in a namespace other than default, you must specify it under the namespace field.

    Each instance definition has the following fields:

    Mandatory fields

    id: basic-agent

    Specifies the unique id for the instance.

    default: true

    Specifies whether the instance is default. Make sure exactly one instance has this parameter set to true.

    label: "k8s-base"

    Specifies the instance name shown in the UI.

    description: "k8s agent"

    Specifies the instance description shown in the UI.

    yaml: "yaml code here"

    Valid kubernetes pod YAML describing a Datalore agent. See an example below.

    Optional fields

    minAllowed: 1

    Specifies the minimum number of pre-warmed (pooled) agents. Datalore will keep at least that many started agents that are not yet assigned to any particular computation. When any notebook is opened, Datalore assigns one of the pooled agent to that notebook and starts another agent to refill the pool. It might be useful to set non-zero value to minAllowed if initialization of your agents takes a lot of time.

    maxAllowed: 1

    Specifies the maximum number of pre-warmed (pooled) agents. If at any moment the number of agents in the pool exceeds maxAllowed, some of them will be stopped.

    An example of a default Datalore agent YAML

    agentsConfig: k8s: instances: - id: basic-agent ... yaml: apiVersion: v1 kind: Pod metadata: name: k8s-agent labels: podType: dataloreKubernetesAgent spec: enableServiceLinks: false containers: - name: agent image: jetbrains/datalore-agent:2022.3 securityContext: privileged: true env: - name: MAX_HEAP_SIZE value: 512m volumeMounts: - mountPath: /etc/datalore/logback-config name: logback-config resources: limits: cpu: "1" memory: "2048Mi" requests: cpu: "200m" memory: "2048Mi" volumes: - name: logback-config configMap: name: datalore-logback-config
  2. (Optional) Configure collecting logs from Datalore and agents.

    We provide the default logging configuration, which prints requested information to stdout, but you can customize it under the logbackConfig key. Find more information on how to configure Logback in the official documentation.

Last modified: 24 November 2022