Skip to content

Kubernetes - Process Steps

Apply Resources

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

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to apply the resources. Only JSON and YAML formats are accepted.Yes
NamespaceStringThe namespace on the Kubernetes server to apply the resource in.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe 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.

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to specify the resources to auto scale. Only JSON and YAML formats are accepted.No
NamespaceStringThe namespace on the Kubernetes server.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe 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

NameTypeDescriptionRequired
Component Name PrefixStringIf 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 TemplateStringThe template to use when creating components from Kubernetes application resources. You can use component templates to store different sets of registry credentials.No
Release NameStringName of the Helm release to be inspected.Yes

Create Kubernetes Cluster Resource

Create a Kubernetes cluster resource in the Resource Tree.

NameTypeDescriptionRequired
Allow Insecure ConnectionsStringSet this property to true to allow insecure registry connections.No
Bearer TokenStringBearer token for authentication to the API server.No
Certificate AuthorityStringPath to a certificate file for the certificate authority.No
Client CertificateStringPath to a client certificate for TLS.No
Client KeyStringPath to a client key for TLS.No
Kubeconfig ClusterStringThe name of the kubeconfig cluster to use.No
Kubeconfig ContextStringThe name of the kubeconfig context to use.No
Kubeconfig FileStringPath to the kubeconfig file to use.No
Kubeconfig UserStringThe name of the kubeconfig user to use.No
Kubernetes Server AddressStringThe address and port of the Kubernetes API server.Yes
NamespaceStringThe namespace scope on the kubernetes server.No
Parent ResourceStringThe parent resource under which the Kubernetes cluster resource will be created.Yes
PasswordPasswordPassword for basic authentication to the API server.No
User NameStringUsername for basic authentication to the API server.No

Create Resources

Create a resource by file name.

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to create the resources. Only JSON and YAML formats are accepted.Yes
NamespaceStringThe namespace on the Kubernetes server to create the resource in.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Delete Resources

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

NameTypeDescriptionRequired
Deletion TypeEnumeration:
  • names
  • labels
  • filename
  • all | Specify the way to select resources to delete. | 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-separated list 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.

NameTypeDescriptionRequired
NamespaceStringThe namespace on the Kubernetes server to expose the resource in.No
PasswordPasswordThe password to access the Kubernetes server.No
ResourceStringThe 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 TypeEnumeration: rc, service, pod, filename, deploymentSpecify the way to select resources to expose.Yes
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe 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}

NameTypeDescriptionRequired
NamespaceStringThe namespace on the Kubernetes server to create the resource in.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Get Kube Config File IBM Cloud

Initializes the IBM Cloud Container Services plug-in 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.

NameTypeDescriptionRequired
Cluster NameStringName of the Kubernetes cluster for which to download configuration data and certificates for.No

Helm Delete

Deletes a release from Kubernetes

NameTypeDescriptionRequired
FlagsStringA newline-seperated list of flags to set when running the helm command. For example: purgeNo
ReleaseStringName 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

NameTypeDescriptionRequired
FlagsStringA newline-seperated list of flags to set when running the helm command. For example: tlsNo
ReleaseStringName of the release to checkYes

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.

NameTypeDescriptionRequired
Cluster NameStringBy 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
FlagsStringA newline-seperated list of flags to set when running the helm command. For example: local-repo-url http://127.0.0.1:8879/chartsNo

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.

NameTypeDescriptionRequired
ChartStringThe 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
FlagsStringA newline-seperated list of flags to set when running the helm command. For example: namespace myNamespaceNo
Release NameStringName of the release. If unspecified, a release name will be autogenerated for you.No
VersionStringIf 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

NameTypeDescriptionRequired
ChartStringThe 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
FlagsStringA newline-seperated list of flags to set when running the helm command. For example: purgeNo
ReleaseStringName of the release to be upgradedYes

Patch Resources

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

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file used to identify the resource to patch. Only JSON and YAML formats are accepted.No
NamespaceStringThe namespace on the Kubernetes server to patch the resource in.No
PasswordPasswordThe password to access the Kubernetes server.No
PatchStringPatch to be applied to the resource JSON file. For example, {spec:{unschedulable:true}}Yes
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Process YAML File

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

NameTypeDescriptionRequired
Always Apply Image Tags from YAMLStringIf 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 DevOps Deploy user interface will be applied (or the current container image tags in the DevOps Deploy inventory will be applied if none are selected).No
Component TemplateStringThe 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)StringPath 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.

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to replace (update) the resources. Only JSON and YAML formats are accepted.Yes
NamespaceStringThe namespace on the Kubernetes server where the resource to replace is in.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Rolling Update

Perform a rolling update of the given Replication Controller.

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to specify the resources to update. Only JSON and YAML formats are accepted.No
NamespaceStringThe namespace on the Kubernetes server.No
PasswordPasswordThe password to access the Kubernetes server.No
Replication ControllerStringReplication Controller to perform the rolling update on. For example, frontend-v1.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe 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}

NameTypeDescriptionRequired
CommandEnumerationRollout command to use. Valid values are history, pause, restart, resume, status, and undo.No
NamespaceStringThe namespace on the Kubernetes server to use.No
PasswordPasswordThe password to access the Kubernetes server.No
ResourceStringResource to perform the rollout on. For example, deployment/abcNo
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Run Image

Create and run a particular image.

NameTypeDescriptionRequired
Deployment NameStringName to use for the created deployment. Defaults to the specified image name if left blank.No
Image NameStringName of the image to run.Yes
NamespaceStringThe namespace on the Kubernetes server to run the image in.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Scale

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

NameTypeDescriptionRequired
File NameStringFile name, directory, or URL of a file to use to specify the resources to scale. Only JSON and YAML formats are accepted.No
NamespaceStringThe namespace on the Kubernetes server.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Set Cluster

Sets a cluster entry in kubeconfig

NameTypeDescriptionRequired
Cluster Entry NameStringName of the cluster entry.Yes
NamespaceStringThe namespace for the context entry in kubeconfigNo
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Set Credentials

Sets a user entry in kubeconfig

NameTypeDescriptionRequired
NamespaceStringThe namespace for the context entry in kubeconfigNo
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User EntryStringEntry to set credentials on.Yes
User NameStringThe user name to access the Kubernetes server.No

Set a Context Entry

Sets a context entry in kubeconfig

NameTypeDescriptionRequired
Context NameStringName of the context to be used.Yes
NamespaceStringThe namespace for the context entry in kubeconfigNo
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Use Context

Sets the current-context in a kubeconfig file

NameTypeDescriptionRequired
Context NameStringName of the context to be used.Yes
NamespaceStringThe namespace on the Kubernetes server.No
PasswordPasswordThe password to access the Kubernetes server.No
URLStringThe URL of the Kubernetes server. For example: https://10.2.2.2:8443.No
User NameStringThe user name to access the Kubernetes server.No

Roles in the Kubernetes plug-in

KubernetesCluster

Role for resources that represents a Kubernetes Cluster.

NameTypeDescription
Allow Insecure ConnectionsStringIf true, the servers certificate will not be checked for validity. This will make your HTTPS connections insecure.
Bearer TokenStringBearer token for authentication to the API server.
Certificate AuthorityStringPath to a certificate file for the certificate authority.
Client CertificateStringPath to a client certificate for TLS.
Client KeyStringPath to a client key file for TLS.
Kubeconfig ClusterStringThe name of the kubeconfig cluster to use.
Kubeconfig ContextStringThe name of the kubeconfig context to use.
Kubeconfig FileStringPath to the kubeconfig file to use.
Kubeconfig UserStringThe name of the kubeconfig user to use.
Kubernetes Server AddressStringThe address and port of the Kubernetes API server.
NamespaceStringThe namespace scope on the kubernetes server.
PasswordPasswordPassword for basic authentication to the API server.
User NameStringUsername for basic authentication to the API server.