This guide provides cluster administrators with the process to install the Alauda DevOps Pipelines Operator on a Kubernetes cluster.
Prerequisites:
cluster-admin privileges.kubectl CLI.You can install the Alauda DevOps Pipelines Operator by using the Operators listed in the Marketplace or OperatorHub. When you install the Alauda DevOps Pipelines Operator, the required Custom Resources (CRs) are automatically installed alongside the Operator.
The Operator provides the following Custom Resource Definitions (CRDs) to manage the Tekton components: tektonconfigs.operator.tekton.dev, tektonpipelines.operator.tekton.dev, tektontriggers.operator.tekton.dev, tektonhubs.operator.tekton.dev, and more.
If Tekton Pipelines is already installed on your cluster, the existing installation will be seamlessly upgraded by the Operator.
The Alauda DevOps Pipelines Operator provides the option to select which components to install by specifying a preset configuration in the TektonConfig Custom Resource (CR). The TektonConfig CR is automatically installed when the Operator is installed. Supported presets include:
TektonConfig CR. This preset installs all Tekton components, including Tekton Pipelines, Tekton Triggers.Steps
In the Web console, navigate to Marketplace or OperatorHub.
Use the Filter by keyword box to search for Alauda DevOps Pipelines Operator in the directory. Click on the Alauda DevOps Pipelines Operator title.
Read the Operator overview on the Alauda DevOps Pipelines Operator page. Click Install.
On the Install Operator page:
tekton-operator namespace, allowing the Operator to monitor and be available in all namespaces in the cluster.Manual approval strategy, OLM will create update requests. As the cluster administrator, you must manually approve the OLM update requests to upgrade the Operator to a new version.Click Install. You will see the Operator on the Installed Operators page.
Verify that the Status is set to Succeeded to confirm the successful installation of the Alauda DevOps Pipelines Operator.
Verify that all components of the Alauda DevOps Pipelines Operator have been successfully installed. Log in to the cluster in a terminal and run the following command:
Example Output
If the READY condition is True, it indicates that the Operator and its components have been successfully installed.
Additionally, check the versions of the components by running the following command:
Example Output
You can install the Alauda DevOps Pipelines Operator from the OperatorHub using the Command Line Interface (CLI).
Steps
Subscription object YAML file to subscribe a namespace to the Alauda DevOps Pipelines Operator, for example, sub.yaml:Example Subscription YAML
latest channel allows for the installation of the latest stable version of the Alauda DevOps Pipelines Operator.CatalogSource object providing the Operator.CatalogSource object. This may vary depending on your cluster configuration.Create the Subscription object by running the following command:
The subscription will install the Alauda DevOps Pipelines Operator in the tekton-operator namespace. The Operator will automatically install Tekton components in the default target namespace tekton-pipelines.
Cluster administrators can uninstall the Alauda DevOps Pipelines Operator by performing the following steps:
TektonConfig CR.Alauda DevOps Pipelines Operator.operator.tekton.dev group if needed.Simply uninstalling the Operator will not remove the Alauda DevOps Pipelines components created by default during the installation of the Operator.
First, delete the TektonConfig CR and any other Tekton component CRs if they exist.
Steps
TektonConfig CRD.TektonConfig CRD to display the detailed page.Options menu of the displayed instance.TektonConfig resource will cascade delete the automatically created TektonPipelines, TektonTriggers, TektonHubs, TektonChains, etc. components.TektonResults or OpenShiftPipelinesAsCodes, you may need to manually delete it.Alauda DevOps Pipelines OperatorYou can uninstall the Alauda DevOps Pipelines Operator using the Web console.
Steps
Alauda DevOps Pipelines Operator in the list.If you want to completely remove all traces of the Tekton Operator, you can delete the Custom Resource Definitions (CRDs) for the operator.tekton.dev group.
Steps
operator.tekton.dev.In Alauda DevOps Pipelines, you can customize the following configurations using the TektonConfig Custom Resource (CR):
The Alauda DevOps Pipelines Operator must be installed.
You can modify the fields under the .spec.pipeline.performance parameter in the TektonConfig Custom Resource (CR) to change the high availability (HA) support and performance configuration of the Tekton Pipelines controller.
Example of TektonConfig Performance Fields
All fields are optional. When set, the Alauda DevOps Pipelines Operator includes most fields as parameters in the tekton-pipelines-controller deployment under the tekton-pipelines-controller container. The Operator also updates the bucket field in the config-leader-election ConfigMap under the tekton-pipelines namespace.
If no values are specified, the Operator does not update these fields and applies the default values of the Tekton Pipelines controller.
If you modify or remove any performance fields, the Operator will update the tekton-pipelines-controller deployment and the config-leader-election ConfigMap (if the bucket field has changed) and recreate the tekton-pipelines-controller pod.
High availability (HA) mode is applicable to the Tekton Pipelines controller; it creates and launches pods based on pipeline runs and task runs definitions. Without HA mode, a single pod performs these operations, which may lead to high loads and significant delays.
In HA mode, Tekton Pipelines uses several pods (replicas) to perform these operations. Initially, Tekton Pipelines distributes each controller operation among the buckets. Each replica selects operations from one or more buckets. If two replicas can select the same operation simultaneously, the controller internally decides who will execute that operation.
HA mode does not affect tasks that run after the pod is created.
| Name | Description |
|---|---|
disable-ha | Enables or disables high availability (HA) mode. HA mode is enabled by default. |
buckets | The number of buckets for processing controller operations in HA mode. The maximum value is 10. |
replicas | The number of pods created to handle controller operations in HA mode. This value should be set to the same or lower number as the bucket value. |
threads-per-controller | The number of threads (workers) to be used when processing the work queue of the Tekton Pipelines controller. |
kube-api-qps | The maximum queries per second (QPS) from the REST client to the cluster master. |
kube-api-burst | Maximum burst for throttling. |
statefulset-ordinals | Enables StatefulSet Ordinals mode for the Tekton Pipelines Controller. |
You can customize the Tekton Pipelines control plane by editing the configuration fields in the TektonConfig Custom Resource (CR). The Alauda DevOps Pipelines Operator automatically includes default values for the configuration fields so you can use the Tekton Pipelines control plane.
Process
tektonconfigs.operator.tekton.dev Custom Resource Definition (CRD).TektonConfig CR.TektonConfig YAML file according to your requirements.Example of TektonConfig CR with Default Values
The following feature flags can be configured in the TektonConfig CR to control different behaviors of Tekton Pipelines:
disable-affinity-assistant (Default: false)disable-creds-init (Default: false)enable-api-fields (Default: stable)enable-custom-tasks (Default: true)await-sidecar-readiness (Default: true)running-in-environment-with-injected-sidecars (Default: true)require-git-ssh-secret-known-hosts (Default: false)enable-provenance-in-status (Default: true)For detailed descriptions of each option, please refer to the Tekton Operator documentation.
You can change the default service account for Tekton Pipelines by editing the default-service-account field in the .spec.pipeline specification. The default service account name is pipeline.
Example
You can set labels and annotations for the tekton-pipelines namespace where the Operator installs Tekton Pipelines components.
Specify labels and annotations by adding them in the .spec.targetNamespaceMetadata specification of the TektonConfig Custom Resource (CR).
Example of Setting Labels and Annotations for the tekton-pipelines Namespace
After successfully installing the Alauda DevOps Pipelines Operator: