Kubernetes & Helm Steps
Reference for all Kubernetes and Helm step templates in Harness 3.0; rolling, blue-green, canary deployments, plus utility operations for scaling, patching, and traffic routing.
Harness 3.0 provides 36+ Kubernetes steps and 9+ Helm steps for comprehensive container orchestration. This reference covers rolling, blue-green, and canary deployment strategies, plus utility operations for scaling, patching, traffic routing, and manifest management.
Kubernetes rolling deploy
Template: k8sRollingDeployStep@1.0.0
Prepares manifests, applies them to the cluster, and checks resource steady state. This is a composite step that orchestrates three sub-actions: prepare, apply, and steady-state check. It performs a rolling update of your Kubernetes workloads, gradually replacing old pods with new ones to ensure zero-downtime deployments.
kubeconfig
string
Path to kubeconfig file (default: from infrastructure)
namespace
string
Kubernetes namespace for deployment
manifests
array
List of manifest file paths
release
string
Helm-style release name
service_id
string
Service identifier
environment_id
string
Environment identifier
infra_id
string
Infrastructure identifier
skip_dry_run
boolean
Skip dry run (default: false)
pruning
boolean
Remove old resources (default: false)
server_side_apply
boolean
Use server-side apply (default: false)
skip_steady_state_check
boolean
Skip steady state check (default: false)
flags
array
Command flags (Apply/Describe with custom flags)
log_level
select
Log level (warn, error, info, debug, trace)
For rollback, use k8sRollingRollbackStep to revert a rolling deployment to its previous state.
Kubernetes blue-green deploy
Blue-green deployment maintains two identical environments. The new version is deployed to the inactive ("stage") environment, tested, and then traffic is switched over by swapping service selectors. This strategy provides instant rollback by simply swapping selectors back.
k8sBlueGreenDeployStep
Creates services and pod sets for blue-green deployment
k8sBlueGreenSwapServicesSelectorsStep
Swaps service selectors to route traffic to the new version
k8sBlueGreenStageScaleDownStep
Scales down the inactive stage environment
Also available as a managed strategy: k8sBlueGreenDeployStrategy, which orchestrates all three steps automatically.
Workflow: (1) Deploy the new version to the "stage" environment alongside the active "primary" environment. (2) Test the stage deployment to verify the new version is healthy. (3) Swap service selectors to route production traffic to the new version. (4) Scale down the old "primary" environment to free resources.
Kubernetes canary deploy
Canary deployment gradually rolls out changes by first deploying a small subset of pods with the new version. This allows you to monitor metrics and health before promoting the change to the full fleet or rolling it back.
k8sCanaryDeployStep
Deploys a subset of pods with the new version
k8sCanaryDeleteStep
Cleans up canary deployment after promotion or rollback
Also available as a managed strategy: k8sCanaryDeployStrategy, which handles the canary lifecycle automatically.
Workflow: (1) Deploy a small percentage of pods with the new version. (2) Monitor metrics and health of the canary pods. (3) Either promote (trigger a full rolling deploy) or rollback (delete the canary pods).
K8s apply & delete
These steps provide direct control over applying and removing Kubernetes resources, outside of a managed deployment strategy.
k8sApplyStep
Apply manifests directly to the cluster. Supports dry run, pruning, server-side apply, and manifest printing for debugging.
kubeconfig
string
Path to kubeconfig file
namespace
string
Kubernetes namespace
manifests
array
List of manifest file paths
skip_dry_run
boolean
Skip dry run validation
pruning
boolean
Remove old resources not in manifests
server_side_apply
boolean
Use server-side apply
print_manifests
boolean
Print rendered manifests to logs
flags
array
Custom kubectl command flags
k8sDeleteStep
Delete Kubernetes resources by name, manifest path, or release name. Useful for cleaning up resources during teardown or rollback workflows.
K8s scale & patch
These steps allow you to modify existing Kubernetes workloads by scaling replica counts or patching resource specifications without redeploying the full manifest.
k8sScaleStep
Scale Kubernetes workloads up or down by setting the desired replica count on a Deployment, StatefulSet, or other scalable resource.
k8sPatchStep
Patch workload resources using strategic merge patch, JSON merge patch, or JSON patch operations. Useful for updating specific fields without a full redeployment.
K8s traffic routing
Template: k8sTrafficRoutingStep
Shift traffic between different versions of services. Commonly used in canary and blue-green workflows to gradually route a percentage of traffic to the new version, enabling progressive delivery with fine-grained control over traffic distribution.
Kubernetes utility steps
Harness provides several utility steps for inspecting, validating, and debugging Kubernetes resources without modifying the cluster state.
k8sDiffStep
Compare the current cluster state with desired manifests to preview changes before applying
k8sDryRunStep
Validate manifests against the cluster API without applying any changes
k8sSteadyStateCheckStep
Check that workloads have reached a steady state (all pods running and ready)
k8sHelmTemplateAction
Render a Helm chart into Kubernetes manifests without deploying
Helm deploy basic
Template: helmDeployBasicStep@1.0.0
Deploys a Helm chart using the basic (rolling) strategy. Uses the harnessdev/helm-deploy:0.0.1 container to execute Helm operations including install, upgrade, rollback, and test.
kubeconfig
string
Path to kubeconfig file
namespace
string
Kubernetes namespace
release
string
Helm release name
manifests
string
Chart path (.tgz archive or directory)
values
array
Values file paths for overrides
subchart
string
Subchart path within the chart
ignore_failed_release
boolean
Ignore failed release state
skip_deploy_steady_check
boolean
Skip steady state check after deploy
upgrade_with_install
boolean
Always use helm upgrade --install
deploy_test
boolean
Run Helm chart tests after deploy
deploy_flags
array
Command flags (get_manifest, list, history, install, upgrade, rollback, uninstall, test, template)
server_render
boolean
Server-side rendering of templates
deploy_log_level
select
Log level (warn, error, info, debug, trace)
Helm blue-green
Helm blue-green deployment uses Helm releases to maintain two environments. The new version is deployed as a separate Helm release, tested, and then traffic is swapped to the new release.
helmDeployBluegreenStep
Deploy the new version as a Helm release to the stage environment
helmBluegreenSwapStep
Swap traffic from the primary to the stage release
Also available as a managed strategy: helmDeployBluegreenStrategy.
Helm canary
Helm canary deployment installs a canary Helm release with a subset of traffic routed to it. After validation, the canary is either promoted to full deployment or rolled back.
helmDeployCanaryStep
Deploy a canary Helm release with a subset of traffic
Also available as a managed strategy: helmDeployCanaryStrategy.
Helm rollback & delete
These steps provide lifecycle management for Helm releases, allowing you to revert to a previous revision or completely uninstall a release.
helmRollbackStep
Roll back a Helm release to a previous revision. Harness automatically determines the previous healthy revision, or you can specify a target revision explicitly.
helmDeleteStep
Uninstall a Helm release and remove all associated Kubernetes resources from the cluster.
Last updated
Was this helpful?