Lambda scaling

Lambda provides several scaling mechanism.

Lambda usage in a specific kubernetes nodes

Lambda can be used in a specific kubernetes nodes. It’s a mechanism for sharing resources in a cluster. For detail information see nodes description.

For support this mechanism lambda provides kubernetes node selector mechanism. See pod configuration example.

To create a lambda with specific nodes, use the selector field in the deploy_parameters on the create lambda endpoint. Lambda can be recreated with another node by using put lambda endpoint. The selector provides several node labels:

{
    "archive": ...,
    "credentials": ...,
    "parameters": ...,
    "deploy_parameters":
        "enable_gpu": ...,
        "pod_count": ...,
        "namespace": ...,
        "selector": {
            "node-label-name": "node-label-value",
            "node-label-name-two": "node-label-value-two",
            ...
            }
}

By default selector value is empty dictionary. If selector isn’t defined, the lambda will be created on any node.

Every label has constraints:

Label key may have two segments an optional prefix and required name, separated by a slash /:

  • the name segment is required and must be 63 characters or less

  • the name segment must beginning and ending with an alphanumeric character [a-z0-9A-Z]

  • the name segment may contains dashes -, underscores _, dots .

  • the prefix is optional must be a DNS subdomain: a series of DNS labels separated by dots .

  • the prefix can’t be longer than 253 characters and ends with a slash /

  • the prefix can’t be kubernetes.io/ or k8s.io/, because these prefixes are reserved for Kubernetes core components

Label value constraints:

  • the value must be 63 characters or less

  • the value can be empty

  • if the value isn’t empty then must begin and end with an alphanumeric character [a-z0-9A-Z]

  • the value could contain dashes -, underscores _, dots ., and alphanumerics between.

For more information about label constraints see syntax and character set.

Lambda replication mechanism usage

Lambda service provides a kubernetes replication mechanism. This mechanism guarantees the availability of a specified number of identical pods. For more details see how replica set works.

It is possible to set replicas count for lambda in pod_count parameter in deploy_parameters. By default pod_count value is 1. See create lambda for more details.

Each lambda pod is one replica, see Kubernetes documentation for more information about deployment replicas.

Lambda workers usage

Lambda provides mechanism to run several lambda process at the same times.

It is possible to set the count of lambda processes using the workers field in the parameters on the create lambda endpoint. The count of workers can range from 1 to 32. By default workers value is 1.