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 HCL Launch.

Quick Info

Product
HCL Launch
Type
plugin
Compatibility
HCL Launch version 7.0 or later
Created by
HCL Software
Website
Updated Date
January 17, 2022
Version Name Modified date Action

24.1098508

launch-kubernetes-24.1098508.zip 15-Mar-2021 13:36

25.1103863

launch-kubernetes-25.1103863.zip 05-Apr-2021 03:44

25.1105369

launch-kubernetes-25.1105369.zip 22-Apr-2021 07:21

26.1108797

launch-kubernetes-26.1108797.zip 09-Jun-2021 13:14

27.1127391

launch-kubernetes-27.1127391.zip 17-Jan-2022 07:03

launch-kubernetes-24.1098508.zip

24.1098508


launch-kubernetes-25.1103863.zip

25.1103863


launch-kubernetes-25.1105369.zip

25.1105369


launch-kubernetes-26.1108797.zip

26.1108797


launch-kubernetes-27.1127391.zip

27.1127391


Summary

The Kubernetes plugin includes steps with interact with Kubernetes resources in HCL Launch.

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

Compatibility

This plugin requires HCL Launch version 7.0 or later.

Installation

See Installing plugins in HCL Launch for installing and removing plugins.

History

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

Plugin history details
Version Description
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 HCL Launch to manage Kubernete container resources and deployments.

The server that is hosting the Kubernetes cluster must be accessible from the HCL Launch 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.