Tekton
Tekton Optimization: A Custom Cluster Scheduler
· β˜• 11 min read
1. A Constrained Build Environment Cannot Meet Build Requirements Tekton is a CICD engine based on a Kubernetes cluster, and it is more cloud-native than Jenkins. In plain terms, that means it is easier to develop plugins for, easier to scale, easier to observe, and more fun. Because code can only be stored on the company intranet, the build cluster can only be deployed on the office intranet.

Tekton Optimization: Infinite IO Capability
· β˜• 5 min read
1. After Turning Off affinity-assistant In an earlier post, by turning off affinity-assistant and using NFS storage, I saved nearly 30 seconds on average per pipeline execution.[1] The impact of affinity-assistant Before turning it off, the sequence diagram for creating a Pod looked like this: Because affinity-assistant was on, every pipeline was bound to a single node for execution.

Optimizing Tekton's Slow Clone Task, Saving About 30 Seconds
· β˜• 13 min read
1. Symptom - Tekton’s Clone Task Is Slow When running the clone task, Tekton is very time-consuming; with multiple repositories it generally takes around 2 minutes 30 seconds. As shown below: A pipeline that only clones takes 2 minutes 16 seconds to run, while the clone script itself actually runs for only 1-3 seconds.

Tekton Stress Testing and Build Cluster Parameter Optimization
· β˜• 6 min read
1. Purpose of the Test Tune the parameters of the build cluster Probe the upper limit on the number of concurrent Tekton pipelines Give the optimal concurrency limit for a single cluster 2. Related Components and Machine Configuration Kubernetes version v1.21.4 Tekton version v0.24.1, kept consistent with production OpenEBS version localpv version 3.

How to Inspect Tekton Pipeline Metrics
· β˜• 4 min read
1. Scraping Tekton Metrics Add a ConfigMap configuration file 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: config-observability namespace: tekton-pipelines labels: app.kubernetes.io/instance: default app.kubernetes.io/part-of: tekton-pipelines data: metrics.backend-destination: prometheus metrics.taskrun.level: "task" metrics.