Skip to main content

EKS

Execution Unit's with the type of eks, will have all of its built image, uploaded to an ECR repository, which will be run using AWS EKS.

The Execution unit can be further configured through the pulumi_params field.

The pulumi_params field directly translates to the model below.

execution_unit:
MyExecutionunit:
type: eks
pulumi_params:
nodeType: node
replicas: 1
nodeConstraints:
instanceType: c4.large
diskSize: 200
limits:
cpu: 1
memory: 256
autoscalingConfig:
cpuUtilization: 100
memoryUtilization: 100
maxReplicas: 4
FieldTypeDescription
nodeTypestring ('fargate' | 'node')(Optional) Whether to have the execution be run on AWS Fargate or on a Managed Node Group node.
replicasnumber(Optional) The number of replicas specified in your kubernetes deployment. This will set the number of running pods for an execution unit.
nodeConstraintsObject(Optional) An object specifying node constraints for how you would like your clusters instances to be created. Only Applicable for nodeType = 'node'.
limitsObject(Optional) An object specifying the limits for resources that your execution unit's pods can consume.
autoscalingConfigObject(Optional) An object specifying the horizontal pod autoscaling thresholds for your execution unit's pods. The autoscaling config is only applicable if the corresponding limits are set.
stickinessTimeoutnumber(Optional) A number specifying the client timeout, in seconds, for session affinity for your execution unit's service. The stickinessTimeout is only applicable if your execution unit is exposed or called by other execution units.

nodeConstraints

FieldTypeDescription
diskSizenumber(Optional) The disk size you want your instances to contain for you execution unit to run on. Specified in GB. (default = 20GB)
instanceTypestring(Optional) The instance type for the instances your execution unit will run on. (default = t3.medium)

limits

FieldTypeDescription
cpunumber(Optional) The maximum amount of cpu a single pod can consume for the execution unit, specified in cpu cores.
memorynumber(Optional) The maximum amount of memory a single pod can consume for the execution unit, specified in Mi.

autoscalingConfig

FieldTypeDescription
cpuUtilizationnumber(Optional) The percentage of cpu utilized, in regards to the defined limit for the execution unit, before the pods horizontally scale. Specified as %.
memoryUtilizationnumber(Optional) The percentage of memory utilized, in regards to the defined limit for the execution unit, before the pods horizontally scale. Specified as %.
maxReplicasnumber(Optional) The maximum number of pods the execution unit can scale to.

Notes

  • If the execution unit sets the helm_options.install to true, then the execution unit will not use the pulumi_params as it will be deployed via helm.
    • We are currently designing a mechanism to provide the same customizeability through helm install