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
Field | Type | Description |
---|---|---|
nodeType | string ('fargate' | 'node') | (Optional) Whether to have the execution be run on AWS Fargate or on a Managed Node Group node. |
replicas | number | (Optional) The number of replicas specified in your kubernetes deployment. This will set the number of running pods for an execution unit. |
nodeConstraints | Object | (Optional) An object specifying node constraints for how you would like your clusters instances to be created. Only Applicable for nodeType = 'node' . |
limits | Object | (Optional) An object specifying the limits for resources that your execution unit's pods can consume. |
autoscalingConfig | Object | (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. |
stickinessTimeout | number | (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
Field | Type | Description |
---|---|---|
diskSize | number | (Optional) The disk size you want your instances to contain for you execution unit to run on. Specified in GB . (default = 20GB) |
instanceType | string | (Optional) The instance type for the instances your execution unit will run on. (default = t3.medium) |
limits
Field | Type | Description |
---|---|---|
cpu | number | (Optional) The maximum amount of cpu a single pod can consume for the execution unit, specified in cpu cores . |
memory | number | (Optional) The maximum amount of memory a single pod can consume for the execution unit, specified in Mi . |
autoscalingConfig
Field | Type | Description |
---|---|---|
cpuUtilization | number | (Optional) The percentage of cpu utilized, in regards to the defined limit for the execution unit, before the pods horizontally scale. Specified as % . |
memoryUtilization | number | (Optional) The percentage of memory utilized, in regards to the defined limit for the execution unit, before the pods horizontally scale. Specified as % . |
maxReplicas | number | (Optional) The maximum number of pods the execution unit can scale to. |
Notes
- If the execution unit sets the
helm_options.install
totrue
, then the execution unit will not use thepulumi_params
as it will be deployed via helm.- We are currently designing a mechanism to provide the same customizeability through helm install