Hierarchy

  • WorkloadProps
    • DeploymentProps

Properties

automountServiceAccountToken?: boolean

Indicates whether a service account token should be automatically mounted.

containerDefaults?: Partial<ContainerProps>
containers?: ContainerProps[]

List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod.

You can add additionnal containers using podSpec.addContainer()

Default

- No containers. Note that a pod spec must include at least one container.
dns?: PodDnsProps

DNS settings for the pod.

See

https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

Default

policy: DnsPolicy.CLUSTER_FIRST
hostnameAsFQDN: false
dockerRegistryAuth?: ISecret

A secret containing docker credentials for authenticating to a registry.

Default

- No auth. Images are assumed to be publicly available.
hostAliases?: HostAlias[]

HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.

Schema

io.k8s.api.core.v1.HostAlias

hostNetwork?: boolean

Host network for the pod.

Default

false
initContainers?: ContainerProps[]

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion.

Init containers cannot currently be added ,removed or updated.

isolate?: boolean

Isolates the pod. This will prevent any ingress or egress connections to / from this pod. You can however allow explicit connections post instantiation by using the .connections property.

Default

false
metadata?: ApiObjectMetadata

Metadata that all persisted resources must have, which includes all objects users must create.

podMetadata?: ApiObjectMetadata

The pod metadata of this workload.

probes?: Pick<ContainerProps, "readiness" | "liveness" | "startup">
replicaCount?: number
restartPolicy?: RestartPolicy

Restart policy for all containers within the pod.

securityContext?: PodSecurityContextProps

SecurityContext holds pod-level security attributes and common container settings.

Default

fsGroupChangePolicy: FsGroupChangePolicy.FsGroupChangePolicy.ALWAYS
ensureNonRoot: true
select?: boolean

Automatically allocates a pod label selector for this workload and add it to the pod metadata. This ensures this workload manages pods created by its pod template.

Default

true
serviceAccount?: IServiceAccount

A service account provides an identity for processes that run in a Pod.

When you (a human) access the cluster (for example, using kubectl), you are authenticated by the apiserver as a particular User Account (currently this is usually admin, unless your cluster administrator has customized your cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, default).

spread?: boolean

Automatically spread pods across hostname and zones.

terminationGracePeriod?: Duration

Grace period until the pod is terminated

Default

Duration.seconds(30)
volumes?: Volume[]

List of volumes that can be mounted by containers belonging to the pod.

You can also add volumes later using podSpec.addVolume()

Generated using TypeDoc