The following contains a list of capacity_requirements properties available if deployed within a Kubernetes environment.
The following properties are specific to the container-v1-core and podspec-v1-core from Kubernetes version 1.24.
Two special properties are provided container_spec_field_overrides and pod_spec_field_overrides for specifying fields that may come in future Kubernetes specs.
Container core properties
Property |
Type |
Description |
|---|---|---|
|
|
Special property that does not apply to any particular Kubernetes field, instead this can used to inject fields that may be added in future Kubernetes releases. [job.sample-job.capacity_requirements.container_spec_field_overrides]
futureKuberneteContainerCoreField = "foobar"
|
|
|
List of environment variables to set in the job’s container pod env. [[job.sample-job.capacity_requirements.env]]
name = "foo"
value = "bar"
|
|
|
List of sources to populate environment variables in the job’s container pod env from. [[job.sample-job.capacity_requirements.envFrom]]
[job.sample-job.capacity_requirements.envFrom.configMapRef]
name = "sample-config"
|
|
|
The image pull policy for the job’s container image image pull policy. [job.sample-job.capacity_requirements]
image_pull_policy = "Always"
|
|
|
Specify the job’s container lifecycle lifecycle. [job.sample-job.capacity_requirements.lifecycle.postStart.exec]
command = [
"/bin/sh",
"-c",
"echo Hello from the postStart handler > /usr/share/message"
]
[job.sample-job.capacity_requirements.lifecycle.preStop.exec]
command = [
"/bin/sh",
"-c",
"sleep 1"
]
|
|
|
Specify the job’s container pod liveness probe. [job.sample-job.capacity_requirements.liveness_probe]
[job.sample-job.capacity_requirements.liveness_probe.httpGet]
path = "/status"
port = "http"
|
|
|
Specify the job’s container pod container ports. [[job.sample-job.capacity_requirements.ports]]
name = "http"
containerPort = 80
protocol = "TCP"
|
|
|
Specify the job’s container pod resource limits. Refer to resource units for acceptable units. [job.sample-job.capacity_requirements.resource_limits]
cpu = 1
memory = "4096Mi"
"nvidia.com/gpu" = 1
|
|
|
Specify the job’s container pod readiness probe. [job.sample-job.capacity_requirements.readiness_probe]
[job.sample-job.capacity_requirements.readiness_probe.httpGet]
path = "/status"
port = "http"
|
|
|
Specify the job’s container pod, security context. [job.sample-job.capacity_requirements.security_context]
runAsUser = 2000
allowPrivilegeEscalation = false
|
|
|
Specify the job’s container pod startup probe. [job.sample-job.capacity_requirements.startup_probe]
[job.sample-job.capacity_requirements.startup_probe.httpGet]
path = "/status"
port = "http"
|
|
|
Control whether the job’s container should allocate a buffer for stdin in the container runtime stdin. [job.sample-job.capacity_requirements]
stdin = true
|
|
|
Control whether the job’s container runtime should close the stdin channel after it has been opened by a single attach stdin once. [job.sample-job.capacity_requirements]
stdin_once = false
|
|
|
Path at which the file to which the container’s termination message will be written is mounted into the container’s filesystem termination message path. [job.sample-job.capacity_requirements]
termination_message_path = "/dev/termination-log"
|
|
|
Indicate how the termination message should be populated termination message policy. [job.sample-job.capacity_requirements]
termination_message_policy = "File"
|
|
|
Control whether the job’s container should allocate a TTY for itself, also requires ‘stdin’ to be true tty. [job.sample-job.capacity_requirements]
tty = true
|
|
|
Specify the job’s container pod volume devices volume devices. [[job.sample-job.capacity_requirements.volume_devices]]
devicePath = "/myrawblockdevice"
name = "blockDevicePvc"
|
|
|
Specify the job’s container pod volume mounts. [[job.sample-job.capacity_requirements.volume_mounts]]
mountPath = "/root/.provider/"
name = "creds"
|
Pod Spec Properties
Property |
Type |
Description |
|---|---|---|
|
|
Special property that does not apply to any particular Kubernetes field, instead this can used to inject fields that may be added in future Kubernetes releases. [job.sample-job.capacity_requirements.pod_spec_field_overrides]
futureKubernetesPodSpecField = "foobar"
|
|
|
Duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers active deadline seconds. [job.sample-job.capacity_requirements]
active_deadline_seconds = 30
|
|
|
Specify the job’s container pod affinity. [[job.sample-job.capacity_requirements.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms]]
[[job.sample-job.capacity_requirements.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions]]
key = "name"
operator = "In"
values = [ "worker-node" ]
[[job.sample-job.capacity_requirements.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution]]
weight = 1
[[job.sample-job.capacity_requirements.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions]]
key = "type"
operator = "In"
values = [ "01" ]
|
|
|
Indicate whether a service account token should be automatically mounted automount service account token. [job.sample-job.capacity_requirements]
active_deadline_seconds = 30
|
|
|
Specifies the DNS parameters of the job’s container pod dns config. [job.sample-job.capacity_requirements.dnsConfig]
nameservers = [ "1.2.3.4" ]
searches = [ "ns1.svc.cluster-domain.example", "my.dns.search.suffix" ]
[[job.sample-job.capacity_requirements.dnsConfig.options]]
name = "ndots"
value = "2"
[[job.sample-job.capacity_requirements.dnsConfig.options]]
name = "edns0"
|
|
|
Set DNS policy for the job’s container pod dns policy. [job.sample-job.capacity_requirements]
dns_policy = "ClusterFirst"
|
|
|
Indicates whether information about services should be injected into pod’s environment variables enable service links. [job.sample-job.capacity_requirements]
enable_service_links = true
|
|
|
List of ephemeral containers run in the job’s container pod. ephemeral containers. |
|
|
List of hosts and IPs that will be injected into the pod’s hosts file if specified. This is only valid for non-hostNetwork pods. host aliases. |
|
|
Use the host’s IPC namespace host IPC. |
|
|
Host networking requested for the job’s container pod host network. |
|
|
Use the host’s PID namespace host PID. |
|
|
Specifies the hostname of the Pod hostname. |
|
|
List of references to secrets in the same namespace to use for pulling any of the images image pull secrets. [[job.sample-job.capacity_requirements.imagePullSecrets]]
name = "registry-secret"
|
|
|
List of initialization containers init containers. |
|
|
Node name is a request to schedule this pod onto a specific node node name. |
|
|
Selector which must be true for the pod to fit on a node node selector. [job.sample-job.capacity_requirements.node_selector]
"beta.kubernetes.io/instance-type" = "worker"
"beta.kubernetes.io/os" = "linux"
|
|
|
Specifies the OS of the containers in the pod os. |
|
|
Overhead represents the resource overhead associated with running a pod for a given RuntimeClass overhead. |
|
|
Policy for preempting pods with lower priority preemption policy. |
|
|
Priority value priority. |
|
|
Indicate the pod’s priority priority class name. |
|
|
Pod’s readiness gates. |
|
|
Set the pod’s runtime class name. |
|
|
Specific scheduler to dispatch the pod scheduler name. |
|
|
Specify the job’s container pod, pod security context. [job.sample-job.capacity_requirements.pod_security_context]
runAsUser = 1000
|
|
|
Set the pod’s service account. |
|
|
Name of the service account to use to run this pod service account name. |
|
|
The pod’s hostname will be configured as the pod’s FQDN set hostname as FQDN. |
|
|
Share a single process namespace between all of the containers in a pod share process namespace. |
|
|
Specify the pod’s subdomain. |
|
|
Duration in seconds the pod needs to terminate gracefully termination grace period seconds. |
|
|
Specify the job’s container pod tolerations. [[job.sample-job.capacity_requirements.tolerations]]
key = "key1"
operator = "Equal"
value = "value1"
effect = "NoSchedule"
|
|
|
Topology domain constraints see details. |
|
|
Specify the job’s container pod volumes. Refer to volumes for more examples and valid fields. The follow is an example of mounting a config map. [[job.sample-job.capacity_requirements.volumes]]
name = "creds"
[job.sample-job.capacity_requirements.volumes.configMap]
name = "credentials-cm"
|