DemandFlow Support Centre

K8SWORKLOAD: K8s Workload

ReferenceEntity Reference16/04/2026Updated 16/04/2026
A Kubernetes workload such as a Deployment, StatefulSet, DaemonSet, Job, or CronJob running container images in a namespace.

K8SWORKLOAD: K8s Workload

A Kubernetes workload such as a Deployment, StatefulSet, DaemonSet, Job, or CronJob running container images in a namespace.

Default definition. This article describes the default K8SWORKLOAD definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches K8SWORKLOAD.

Entity properties

PropertyValue
Entity codeK8SWORKLOAD
Display nameK8s Workload
PluralK8s Workloads
Level402

Use cases

K8SWORKLOAD represents the runnable unit in Kubernetes. The workloadType select covers all major controller kinds (Deployment, StatefulSet, DaemonSet, Job, CronJob, ReplicaSet, bare Pod) because each has different scaling and persistence semantics that operators must understand. The namespace objectLookup establishes the parent relationship to K8SNAMESPACE.

Fields

Workload Information

FieldTypeRequiredNotes
nametextYesWorkload Name
namespacereference → K8SNAMESPACEYesNamespace
workloadTypeenumYesWorkload Type Valid ids: 1 (Deployment), 2 (StatefulSet), 3 (DaemonSet), 4 (Job), 5 (CronJob), 6 (ReplicaSet), 7 (Pod).
statusenumYesStatus Valid ids: 1 (Running), 2 (Pending), 3 (Failed), 4 (Succeeded), 5 (Unknown), 6 (Terminating), 7 (CrashLoopBackOff).
applicationtextApplication or service name

Container Configuration

FieldTypeRequiredNotes
imagetextYese.g., nginx:1.21
imageTagtextImage Tag
imagePullPolicyenumImage Pull Policy Valid ids: 1 (Always), 2 (IfNotPresent), 3 (Never).
containerPortnumberContainer Port
protocolenumProtocol Valid ids: 1 (TCP), 2 (UDP), 3 (SCTP).
commandtext (multi-line)Container command override

Scaling & Replicas

FieldTypeRequiredNotes
replicasnumberYesDesired Replicas
readyReplicasnumberReady Replicas Read only.
availableReplicasnumberAvailable Replicas Read only.
updatedReplicasnumberUpdated Replicas Read only.
autoScalingEnabledbooleanAuto Scaling Enabled
minReplicasnumberMin Replicas
maxReplicasnumberMax Replicas
targetCPUUtilizationnumberFor HPA

Resource Requests

FieldTypeRequiredNotes
cpuRequestnumbere.g., 100 = 0.1 CPU
memoryRequestnumberMemory Request (MB)
storageRequestnumberEphemeral Storage (GB)
gpuRequestnumberGPU Request

Resource Limits

FieldTypeRequiredNotes
cpuLimitnumberCPU Limit (millicores)
memoryLimitnumberMemory Limit (MB)
storageLimitnumberEphemeral Storage Limit (GB)
gpuLimitnumberGPU Limit

Environment & Configuration

FieldTypeRequiredNotes
envVarstext (multi-line)KEY=VALUE format, one per line
configMapsmultiselectConfigMaps
secretsmultiselectSecrets
serviceAccounttextService Account

Volume Mounts

FieldTypeRequiredNotes
volumeMountstext (multi-line)JSON format volume mount configuration
persistentVolumeClaimsmultiselectPVCs
hostPathtextHost Path
emptyDirbooleanUse EmptyDir

Deployment Strategy

FieldTypeRequiredNotes
updateStrategyenumUpdate Strategy Valid ids: 1 (RollingUpdate), 2 (Recreate), 3 (Blue-Green), 4 (Canary).
maxSurgenumberMax pods above desired
maxUnavailablenumberMax pods unavailable
revisionHistoryLimitnumberRevision History Limit
progressDeadlineSecondsnumberProgress Deadline (sec)

Labels & Selectors

FieldTypeRequiredNotes
labelstext (multi-line)Key-value pairs (JSON)
selectortext (multi-line)Label selector (JSON)
annotationstext (multi-line)Key-value pairs (JSON)
nodeSelectortext (multi-line)Node selection constraints

Health Checks

FieldTypeRequiredNotes
livenessProbeenumLiveness Probe Type Valid ids: 1 (None), 2 (HTTP GET), 3 (TCP Socket), 4 (Exec Command).
livenessPathtexte.g., /health
livenessPortnumberLiveness Port
livenessInitialDelaynumberInitial Delay (sec)
livenessPeriodnumberCheck Period (sec)
livenessTimeoutnumberTimeout (sec)

Readiness Check

FieldTypeRequiredNotes
readinessProbeenumReadiness Probe Type Valid ids: 1 (None), 2 (HTTP GET), 3 (TCP Socket), 4 (Exec Command).
readinessPathtexte.g., /ready
readinessPortnumberReadiness Port
readinessInitialDelaynumberInitial Delay (sec)
readinessPeriodnumberCheck Period (sec)
readinessTimeoutnumberTimeout (sec)

Security Context

FieldTypeRequiredNotes
runAsUsernumberRun As User ID
runAsGroupnumberRun As Group ID
fsGroupnumberFS Group
runAsNonRootbooleanRun As Non-Root
readOnlyRootFilesystembooleanRead-Only Root FS
allowPrivilegeEscalationbooleanAllow Privilege Escalation
privilegedbooleanPrivileged

Pod Security

FieldTypeRequiredNotes
securityPolicytextPod Security Policy
seLinuxOptionstext (multi-line)JSON format
capabilitiestext (multi-line)Add/Drop capabilities
hostNetworkbooleanHost Network
hostPIDbooleanHost PID
hostIPCbooleanHost IPC

Metrics & Performance

FieldTypeRequiredNotes
cpuUsagegaugeCPU Usage % Read only.
memoryUsagegaugeMemory Usage % Read only.
networkInnumberNetwork In (MB/s) Read only.
networkOutnumberNetwork Out (MB/s) Read only.
restartCountnumberRestart Count Read only.
lastRestartTimedatetimeLast Restart Read only.
crashCountnumberCrash Count Read only.
uptimenumberUptime (hours) Read only.

Recent Events

FieldTypeRequiredNotes
eventstext (multi-line)Last 50 Kubernetes events Read only.
lastEventTimedatetimeLast Event Time Read only.
warningCountnumberWarning Events Read only.

Relationships

  • Lookups: namespace points at a K8SNAMESPACE record.

Creating a K8s Workload via the API

POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json

{
  "entity":   "K8SWORKLOAD",
  "level":    402,
  "comboKey": "SUB:<your-sub-id>|ENT:",
  "name": "Example",
  "namespace": "",
  "workloadType": "1",
  "status": "1"
}

Listing K8s Workloads records

# All k8s workloads in your tenant
GET /v1/entities/K8SWORKLOAD/SUB

See also

k8sworkloadk8sworkloadworkloadsentity reference

Was this article helpful?

← Back to Knowledge Base