interface IEksContainerDefinition
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.Batch.IEksContainerDefinition |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsbatch#IEksContainerDefinition |
Java | software.amazon.awscdk.services.batch.IEksContainerDefinition |
Python | aws_cdk.aws_batch.IEksContainerDefinition |
TypeScript (source) | aws-cdk-lib » aws_batch » IEksContainerDefinition |
Implemented by
Eks
A container that can be run with EKS orchestration on EC2 resources.
Properties
Name | Type | Description |
---|---|---|
image | Container | The image that this container will run. |
node | Node | The tree node. |
volumes | Eks [] | The Volumes to mount to this container. |
args? | string[] | An array of arguments to the entrypoint. |
command? | string[] | The entrypoint for the container. |
cpu | number | The hard limit of CPUs to present to this container. Must be an even multiple of 0.25. |
cpu | number | The soft limit of CPUs to reserve for the container Must be an even multiple of 0.25. |
env? | { [string]: string } | The environment variables to pass to this container. |
gpu | number | The hard limit of GPUs to present to this container. |
gpu | number | The soft limit of CPUs to reserve for the container Must be an even multiple of 0.25. |
image | Image | The image pull policy for this container. |
memory | Size | The amount (in MiB) of memory to present to the container. |
memory | Size | The soft limit (in MiB) of memory to reserve for the container. |
name? | string | The name of this container. |
privileged? | boolean | If specified, gives this container elevated permissions on the host container instance. |
readonly | boolean | If specified, gives this container readonly access to its root file system. |
run | number | If specified, the container is run as the specified group ID (gid ). |
run | boolean | If specified, the container is run as a user with a uid other than 0. |
run | number | If specified, this container is run as the specified user ID (uid ). |
image
Type:
Container
The image that this container will run.
node
Type:
Node
The tree node.
volumes
Type:
Eks
[]
The Volumes to mount to this container.
Automatically added to the Pod.
See also: https://kubernetes.io/docs/concepts/storage/volumes/
args?
Type:
string[]
(optional)
An array of arguments to the entrypoint.
If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to "$(NAME1)" and the NAME1 environment variable doesn't exist, the command string will remain "$(NAME1)." $$ is replaced with $, and the resulting string isn't expanded. or example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists.
See also: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/
command?
Type:
string[]
(optional)
The entrypoint for the container.
This isn't run within a shell.
If this isn't specified, the ENTRYPOINT
of the container image is used.
Environment variable references are expanded using the container's environment.
If the referenced environment variable doesn't exist, the reference in the command isn't changed.
For example, if the reference is to "$(NAME1)"
and the NAME1
environment variable doesn't exist,
the command string will remain "$(NAME1)."
$$
is replaced with $
and the resulting string isn't expanded.
For example, $$(VAR_NAME)
will be passed as $(VAR_NAME)
whether or not the VAR_NAME
environment variable exists.
The entrypoint can't be updated.
See also: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint
cpuLimit?
Type:
number
(optional, default: No CPU limit)
The hard limit of CPUs to present to this container. Must be an even multiple of 0.25.
If your container attempts to exceed this limit, it will be terminated.
At least one of cpuReservation
and cpuLimit
is required.
If both are specified, then cpuLimit
must be at least as large as cpuReservation
.
See also: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
cpuReservation?
Type:
number
(optional, default: No CPUs reserved)
The soft limit of CPUs to reserve for the container Must be an even multiple of 0.25.
The container will given at least this many CPUs, but may consume more.
At least one of cpuReservation
and cpuLimit
is required.
If both are specified, then cpuLimit
must be at least as large as cpuReservation
.
See also: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
env?
Type:
{ [string]: string }
(optional)
The environment variables to pass to this container.
Note: Environment variables cannot start with "AWS_BATCH". This naming convention is reserved for variables that AWS Batch sets.
gpuLimit?
Type:
number
(optional, default: No GPU limit)
The hard limit of GPUs to present to this container.
If your container attempts to exceed this limit, it will be terminated.
If both gpuReservation
and gpuLimit
are specified, then gpuLimit
must be equal to gpuReservation
.
See also: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
gpuReservation?
Type:
number
(optional, default: No GPUs reserved)
The soft limit of CPUs to reserve for the container Must be an even multiple of 0.25.
The container will given at least this many CPUs, but may consume more.
If both gpuReservation
and gpuLimit
are specified, then gpuLimit
must be equal to gpuReservation
.
See also: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
imagePullPolicy?
Type:
Image
(optional, default: ALWAYS
if the :latest
tag is specified, IF_NOT_PRESENT
otherwise)
The image pull policy for this container.
See also: https://kubernetes.io/docs/concepts/containers/images/#updating-images
memoryLimit?
Type:
Size
(optional, default: No memory limit)
The amount (in MiB) of memory to present to the container.
If your container attempts to exceed the allocated memory, it will be terminated.
Must be larger that 4 MiB
At least one of memoryLimit
and memoryReservation
is required
Note: To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using.
See also: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
memoryReservation?
Type:
Size
(optional, default: No memory reserved)
The soft limit (in MiB) of memory to reserve for the container.
Your container will be given at least this much memory, but may consume more.
Must be larger that 4 MiB
When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first.
At least one of memoryLimit
and memoryReservation
is required.
If both are specified, then memoryLimit
must be equal to memoryReservation
Note: To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using.
See also: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
name?
Type:
string
(optional, default: : 'Default'
)
The name of this container.
privileged?
Type:
boolean
(optional, default: false)
If specified, gives this container elevated permissions on the host container instance.
The level of permissions are similar to the root user permissions.
This parameter maps to privileged
policy in the Privileged pod security policies in the Kubernetes documentation.
Note: this is only compatible with Kubernetes < v1.25
See also: https://kubernetes.io/docs/concepts/security/pod-security-policy/#volumes-and-file-systems
readonlyRootFilesystem?
Type:
boolean
(optional, default: false)
If specified, gives this container readonly access to its root file system.
This parameter maps to ReadOnlyRootFilesystem
policy in the Volumes and file systems pod security policies in the Kubernetes documentation.
Note: this is only compatible with Kubernetes < v1.25
See also: https://kubernetes.io/docs/concepts/security/pod-security-policy/#volumes-and-file-systems
runAsGroup?
Type:
number
(optional, default: none)
If specified, the container is run as the specified group ID (gid
).
If this parameter isn't specified, the default is the group that's specified in the image metadata.
This parameter maps to RunAsGroup
and MustRunAs
policy in the Users and groups pod security policies in the Kubernetes documentation.
Note: this is only compatible with Kubernetes < v1.25
See also: https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups
runAsRoot?
Type:
boolean
(optional, default: the container is not required to run as a non-root user)
If specified, the container is run as a user with a uid
other than 0.
Otherwise, no such rule is enforced.
This parameter maps to RunAsUser
and MustRunAsNonRoot
policy in the Users and groups pod security policies in the Kubernetes documentation.
Note: this is only compatible with Kubernetes < v1.25
See also: https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups
runAsUser?
Type:
number
(optional, default: the user that is specified in the image metadata.)
If specified, this container is run as the specified user ID (uid
).
This parameter maps to RunAsUser
and MustRunAs
policy in the Users and groups pod security policies in the Kubernetes documentation.
Note: this is only compatible with Kubernetes < v1.25
See also: https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups
Methods
Name | Description |
---|---|
add | Mount a Volume to this container. |
addVolume(volume)
public addVolume(volume: EksVolume): void
Parameters
- volume
Eks
Volume
Mount a Volume to this container.
Automatically added to the Pod.