What Can I Deploy in Kubernetes?
In Harness, a managed Kubernetes workload is a Deployment, StatefulSet, or DaemonSet object deployed and managed to steady state.
Harness Canary and Blue/Green Workflow default steps support a single Deployment or StatefulSet workload as a managed entity.
Rolling Workflow default steps support Deployment, StatefulSet, or DaemonSet as managed workloads, but not Jobs.
You can deploy any Kubernetes workload in any Workflow type by using a Harness annotation to make it unmanaged (harness.io/direct-apply
).
The Apply Step can deploy any workloads or objects in any Workflow type as a managed workload, including Jobs. Workloads deployed with the Apply step are not rollback on failure.
OpenShift: Harness supports OpenShift DeploymentConfig in OpenShift clusters as a managed workload across Canary, Blue Green, and Rolling deployment strategies. Please use apiVersion: apps.openshift.io/v1
and not apiVersion: v1
.
See Using OpenShift with Harness Kubernetes.
Rolling vs Apply
The following table lists the differences between the Rollout Deployment step (default in a Rolling Workflow type) and the Apply step (which may be used in any Workflow type).
Jobs | Rollback | Track to Steady State | |
Rollout Deployment step | No | Yes | Yes |
Apply step | Yes | No | Yes, by default. You can the skip steady state check using the Skip Steady State Check option. |