• Overview
  • Documentation
  • Version history

Description

Kubernetes is an open-source system for automating deployment, operations, and scaling of containerized applications. The Kubernetes plugin provides the ability to interact with Kubernetes resources within Deploy.

Quick Info

Product icon

Product

HCL DevOps Deploy (HCL Launch)
Plugin type icon

Type

plugin
Compatibility icon

Compatibility

HCL Launch version 7.3.2.8 and later, HCL Deploy version 8.0.1.3 and later
created by icon

Created by

HCL Software
Website icon

Website

Published Date

Last Updated

Summary

The Kubernetes plugin includes steps with interact with Kubernetes resources in Deploy.

This plugin includes one or more steps, click Steps for step details and properties.

Installation

See Installing plugins in Deploy for installing and removing plugins.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
33 Updated Jettison library to 1.5.4 for CVE-2023-1436.
32 Updated log4j dependency.
31 PH51080 - Helm Upgrade failure message not displaying in process step output.
30 PH43936 - Helm v2 install failing when using non-default TILLER_NAMESPACE
29 PH43259 - Helm install command failing.
27 Fixes APAR : PH43259 – Helm install command failing
26 Minor enhancements
25 Minor enhancements
24 Added support to Helm 3 syntax for Helm Release and Helm Install steps.

Usage

Use the Kubernetes plugin for Deploy to manage Kubernetes container resources and deployments.

The server that is hosting the Kubernetes cluster must be accessible from the Deploy agent.

Step Palette

To access this plugin in the palette, click Cloud > Kubernetes.

Steps

 

The following process steps are available in the Kubernetes plugin.

Apply Resources

Apply a configuration to a resource by filename. This resource is created if it doesnt exist. To use, always create the resource initially with this step.

Input properties for the Apply Resources step
Name Type Description Required
File Name String File name, directory, or URL of a file to use to apply the resources. Only JSON and YAML formats are accepted. Yes
Namespace String The namespace on the Kubernetes server to apply the resource in. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Auto Scale

Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster.

Input properties for the Auto Scale step
Name Type Description Required
  String File name, directory, or URL of a file to use to specify the resources to auto scale. Only JSON and YAML formats are accepted. No
Namespace String The namespace on the Kubernetes server. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Create Image Components from Helm Release

Creates UCD components for each container image found in a Helm release

Input properties for the Create Image Components from Helm Release step
Name Type Description Required
Component Name Prefix String If you wish to add a prefix to the name of the Components which will be created to represent container images, enter the prefix here. No
Component Template String The template to use when creating components from Kubernetes application resources. You can use component templates to store different sets of registry credentials. No
Release Name String Name of the Helm release to be inspected. Yes

Create Kubernetes Cluster Resource

Create a Kubernetes cluster resource in the Resource Tree.

Input properties for the Create Kubernetes Cluster Resource step
Name Type Description Required
Allow Insecure Connections String Set this property to true to allow insecure registry connections. No
Bearer Token String Bearer token for authentication to the API server. No
Certificate Authority String Path to a certificate file for the certificate authority. No
Client Certificate String Path to a client certificate for TLS. No
Client Key String Path to a client key for TLS. No
Kubeconfig Cluster String The name of the kubeconfig cluster to use. No
Kubeconfig Context String The name of the kubeconfig context to use. No
Kubeconfig File String Path to the kubeconfig file to use. No
Kubeconfig User String The name of the kubeconfig user to use. No
Kubernetes Server Address String The address and port of the Kubernetes API server. Yes
Namespace String The namespace scope on the kubernetes server. No
Parent Resource String The parent resource under which the Kubernetes cluster resource will be created. Yes
Password Password Password for basic authentication to the API server. No
User Name String Username for basic authentication to the API server. No

Create Resources

Create a resource by file name.

Input properties for the Create Resources step
Name Type Description Required
  String File name, directory, or URL of a file to use to create the resources. Only JSON and YAML formats are accepted. Yes
Namespace String The namespace on the Kubernetes server to create the resource in. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Delete Resources

Delete resources by file names, resource types and names, or resource types and labels.

Input properties for the Delete Resources step
Name Type Description Required
Deletion Type Enumeration Specify the way to select resources to delete. Valid values are: names, labels, filename, and all. Yes
Namespace String The namespace on the Kubernetes server to delete the resource in. No
Password Password The password to access the Kubernetes server. No
Resources String A list of resources to delete. The format is based on the selected Deletion Type. For Resource Types and Names, enter a comma-separatedlist of resource types followed by a space separated list of resource names. For example: pod,service baz foo. For Resource Types and Labels, enter a comma-separated list of resource types followed by a name=value pair for the label and its value. For example: pods,services color=blue. For All Resources of Type, specify a comma-separated list of resource types to delete all resources with those types. For example: pods,services. For File, specify a file name, directory, or URL of a file that contains the resources to delete. Yes
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Expose Resource

Expose a replication controller, service, or pod as a new Kubernetes service.

Input properties for the Expose Resource step
Name Type Description Required
Namespace String The namespace on the Kubernetes server to expose the resource in. No
Password Password The password to access the Kubernetes server. No
Resource String The name of the resource to expose. For a Resource Type of File, specify a file name, directory, or URL of a file that identifies the resource to expose. Yes
Resource Type Enumeration Specify the way to select resources to expose. Valid values are: rc, service, pod, filename, and deployment. Yes
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Get Current Context

Gets the current-context and sets it as an output property in the format ${p:stepName/current-context}

Input properties for the Get Current Context step
Name Type Description Required
Namespace String The namespace on the Kubernetes server to create the resource in. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Get Kube Config File IBM Cloud

Initializes the IBM Cloud Container Services plugin and downloads Kubernetes configuration data and certificates to connect to your cluster by using kubectl commands. Output of this step is a property in the format ${p:stepName/kubeconfig} which points to the downloaded Kubernetes config file.

Input properties for the Get Kube Config File IBM Cloud step
Name Type Description Required
Cluster Name String Name of the Kubernetes cluster for which to download configuration data and certificates for. No

Helm Delete

Deletes a release from Kubernetes

Input properties for the Helm Delete step
Name Type Description Required
Flags String A newline-seperated list of flags to set when running the helm command. For example: purge No
Release String Name of the release to be deleted. Yes

Helm Does Release Exist

Runs a helm status [RELEASE_NAME] command to determine if a release exists or not. Sets an output property in the format ${p:stepName/release-exists} to a value of true if the release does exist or false if the release does not exist

Input properties for the Helm Does Release Exist step
Name Type Description Required
Flags String A newline-seperated list of flags to set when running the helm command. For example: tls No
Release String Name of the release to check Yes

Helm Init

Sets up local configuration in $HELM_HOME. If the client-only flag is not set, this step will install the latest version of Tiller onto your Kubernetes cluster.

Input properties for the Helm Init step
Name Type Description Required
Cluster Name String By default, Tiller will be installed to the Kubernetes cluster with the current context. To install to a differnet cluster, enter the clusters name in this field. No
Flags String A newline-seperated list of flags to set when running the helm command. For example: local-repo-url https://127.0.0.1:8879/charts No

Helm Install

Installs a chart archive. The release name is set as an output property in the format ${p:stepName/helm.release} and may be set as a component property if desired.

Input properties for the Helm Install step
Name Type Description Required
Chart String The chart to install. There are four different ways to specify a chart: 1. By chart reference (for example, stable/mariadb) 2. By path to a packaged chart (for example, ./nginx-1.2.3.tgz) 3. By path to an unpackaged chart (for example, ./nginx) 4. By absolute URL (for example, https://example.com/charts/nginx-1.2.3.tgz) Yes
Flags String A newline-seperated list of flags to set when running the helm command. For example: namespace myNamespace No
Release Name String Name of the release. If unspecified, a release name will be autogenerated for you. No
Version String If the Chart field specifies a chart reference, a version may be specified in this field. If the Chart field specifies a chart reference and the Version field is left blank, the latest version of the chart will be installed. No

Helm Upgrade

Upgrades a release to a new version of a chart

Input properties for the Helm Upgrade step
Name Type Description Required
Chart String The chart to be applied. The chart can be either: a chart reference(stable/mariadb), a path to a chart directory, a packaged chart, or a fully qualified URL. For chart references, the latest version will be specified unless the version flag is set. Yes
Flags String A newline-seperated list of flags to set when running the helm command. For example: purge No
Release String Name of the release to be upgraded Yes

Patch Resources

Update field(s) of a resource using strategic merge patch

Input properties for the Patch Resources step
Name Type Description Required
  String File name, directory, or URL of a file used to identify the resource to patch. Only JSON and YAML formats are accepted. No
Namespace String The namespace on the Kubernetes server to patch the resource in. No
Password Password The password to access the Kubernetes server. No
Patch String Patch to be applied to the resource JSON file. For example, {spec:{unschedulable:true}} Yes
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Process YAML File

Reads a Kubernetes YAML file, creates HCL Launch components and resources representing container images found in the YAML file, and creates a updated YAML file with dynamically updated container image versions.

Input properties for the Process YAML File step
Name Type Description Required
Always Apply Image Tags from YAML String If set to true, the container image tags specified in the YAML file(s) will always be applied. If set to false, container image tags specified by the user through the HCL Launch user interface will be applied (or the current container image tags in the HCL Launch inventory will be applied if none are selected). No
Component Template String The template to use when creating components from Kubernetes application resources. You can use component templates to store different sets of registry credentials. No
YAML File(s) String Path and name of your Kubernetes yaml file or a directory containing multiple yaml files. If left blank, all .yaml and .yml files in the working directory will be processed. No

Replace Resources

Replace (update) a resource by file name.

Input properties for the Replace Resources step
Name Type Description Required
  String File name, directory, or URL of a file to use to replace (update) the resources. Only JSON and YAML formats are accepted. Yes
Namespace String The namespace on the Kubernetes server where the resource to replace is in. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Rolling Update

Perform a rolling update of the given Replication Controller.

Input properties for the Rolling Update step
Name Type Description Required
  String File name, directory, or URL of a file to use to specify the resources to update. Only JSON and YAML formats are accepted. No
Namespace String The namespace on the Kubernetes server. No
Password Password The password to access the Kubernetes server. No
Replication Controller String Replication Controller to perform the rolling update on. For example, frontend-v1. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Rollout

Manage a deployment using subcommands like kubectl rollout undo deployment/abc. If performing kubectl rollout history, the history is set as an output property in the format ${p:stepName/history}

Input properties for the Rollout step
Name Type Description Required
Command Enumeration Rollout command to use. Valid values are: history, pause, resume, status, and undo. No
Namespace String The namespace on the Kubernetes server to use. No
Password Password The password to access the Kubernetes server. No
Resource String Resource to perform the rollout on. For example, deployment/abc No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Run Image

Create and run a particular image.

Input properties for the Run Image step
Name Type Description Required
Deployment Name String Name to use for the created deployment. Defaults to the specified image name if left blank. No
Image Name String Name of the image to run. Yes
Namespace String The namespace on the Kubernetes server to run the image in. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Scale

Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job.

Input properties for the Scale step
Name Type Description Required
  String File name, directory, or URL of a file to use to specify the resources to scale. Only JSON and YAML formats are accepted. No
Namespace String The namespace on the Kubernetes server. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Set Cluster

Sets a cluster entry in kubeconfig

Input properties for the Set Cluster step
Name Type Description Required
Cluster Entry Name String Name of the cluster entry. Yes
Namespace String The namespace for the context entry in kubeconfig No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Set Credentials

Sets a user entry in kubeconfig

Input properties for the Set Credentials step
Name Type Description Required
Namespace String The namespace for the context entry in kubeconfig No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Entry String Entry to set credentials on. Yes
User Name String The user name to access the Kubernetes server. No

Set a Context Entry

Sets a context entry in kubeconfig

Input properties for the Set a Context Entry step
Name Type Description Required
Context Name String Name of the context to be used. Yes
Namespace String The namespace for the context entry in kubeconfig No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Use Context

Sets the current-context in a kubeconfig file

Input properties for the Use Context step
Name Type Description Required
Context Name String Name of the context to be used. Yes
Namespace String The namespace on the Kubernetes server. No
Password Password The password to access the Kubernetes server. No
URL String The URL of the Kubernetes server. For example: https://10.2.2.2:8443. No
User Name String The user name to access the Kubernetes server. No

Roles in the Kubernetes plugin

 

KubernetesCluster

Role for resources that represents a Kubernetes Cluster.

Properties for the KubernetesCluster role
Name Type Description Required
Allow Insecure Connections String If true, the servers certificate will not be checked for validity. This makes your HTTPS connections insecure.
Bearer Token String Bearer token for authentication to the API server.
Certificate Authority String Path to a certificate file for the certificate authority.
Client Certificate String Path to a client certificate for TLS.
Client Key String Path to a client key file for TLS.
Kubeconfig Cluster String The name of the kubeconfig cluster to use.
Kubeconfig Context String The name of the kubeconfig context to use.
Kubeconfig File String Path to the kubeconfig file to use.
Kubeconfig User String The name of the kubeconfig user to use.
Kubernetes Server Address String The address and port of the Kubernetes API server.
Namespace String The namespace scope on the kubernetes server.
Password Password Password for basic authentication to the API server.
User Name String Username for basic authentication to the API server.

launch-kubernetes-33.1176035.zip

Uploaded: 30-Apr-2025 13:43

Release Note:

Updating Jettison library to 1.5.4 for CVE-2023-1436

launch-kubernetes-32.1154499.zip

Uploaded: 27-Mar-2023 12:05

launch-kubernetes-31.1145303.zip

Uploaded: 30-Nov-2022 14:22

Release Note

Fixes APAR : PH51080 - Helm Upgrade failure message not displaying in process step output.

launch-kubernetes-29.1130033.zip

Uploaded: 24-Feb-2022 19:53

Release Note

Fixes APAR : PH43936 - Helm v2 install failing when using non-default TILLER_NAMESPACE.

launch-kubernetes-27.1127391.zip

Uploaded: 17-Jan-2022 07:03

Release Note

Fixes APAR : PH43259 - Helm install command failing

launch-kubernetes-26.1108797.zip

Uploaded: 09-Jun-2021 13:14

Release Note

Add restart option to Rollout plugin step.

launch-kubernetes-25.1105369.zip

Uploaded: 22-Apr-2021 07:21

Release Notes

  • Fixes APAR: PH32714 - PLUGIN NOT HANDLING BUILD INFO VERSION FORMAT WITH + SIGN
  • Fixes APAR: PH32716 - CATCHING WARNING AS STANDARD ERROR - MARKING STEP AS FAILURE in step -helm install- and -helm upgrade-

launch-kubernetes-25.1103863.zip

Uploaded: 05-Apr-2021 03:44

launch-kubernetes-24.1098508.zip

Uploaded: 15-Mar-2021 13:36

Release Note

Update to support Helm 3 syntax for Helm Release and Helm Install steps.

Related Plugins