Setup Tekton Dashboard to view Tekton Pipelineruns created by Tanzu Application Platform testing Supply Chain

Tekton Dashboard

In this post, I will discuss about deploying Tekton Dashboard on a K8S cluster where Tanzu Application Platform (TAP) is running and also, how Tekton Dashboard can help you to view pipeline runs created when you use TAP testing or testing & scanning supply chains.

Background:

When you deploy a Tanzu Application Platform components on a supported Kubernetes distributions and enable testing or testing & scanning supply chain, Tekton components are installed and used. However, Tekton dashboard is not installed using TAP package. In that case, if you want to see the pipeline runs detail, you can describe the pipelinerun object but I think Tekton Dashboard will make this much more simpler for you.

Pre-requirement for enabling Tekton Dashboard

  • K8S cluster access

Installing & Configuring Tekton Dashboard

Installing Tekton Dashboard is very easy and you just need to run one single command, but we will be using TAP deployed Ingress Controller to expose Tekton Dashboard GUI. This approach will help us to access dashboard from outside of the K8S cluster.

  • Run the below command
    kubectl apply --filename https://storage.googleapis.com/tekton-releases/dashboard/latest/tekton-dashboard-release.yaml -n tekton-pipelines
    
  • After running the above command, you will see the following resource created.

Configuring Tekton Dashboard Access using Contour Ingress Controller

As you can see in the above screenshot, by default tekton-dashboard service is exposed as ClusterIP. Let’s configure a HTTPProxy resource for Contour Ingress controller, So that you can access the tekton dashboard from outside of cluster.

I have used the following yaml file for creating a HTTPProxy resource. You need to modify the highlighed text.

apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: tekton-dashboard
  namespace: tekton-pipelines
spec:
  routes:
  - services:
    - name: tekton-dashboard
      port: 9097
  virtualhost:
    fqdn: tektongui.demo.com  # This is the name that you will access from outside. modify it according to your environment. 
status:
  loadBalancer:
    ingress:
    - hostname: <update> # Update the IP address of envoy proxy

Once created, validate the newly created HTTPProxy resource. Ensure that the status is showing as Valid HTTPProxy.

> k get httpproxy -n tekton-pipelines
NAME               FQDN                     TLS SECRET   STATUS   STATUS DESCRIPTION
tekton-dashboard   tektongui.demo.com                valid    Valid HTTPProxy

You also need to make an appropriate entry to point above FQDN to a envoy proxy IP address. In my case, I have used Route53 and created an entry for it.

Validate Tekton Dashboard GUI

Now, we have done the configuration, it’s time to validate the GUI and see the pipelineruns.

  • Access the GUI by using FQDN, e.g. below is what I see in my case.
  • Click on one of the PipelineRun.

As you can see in the above screenshot, you can now see the application test result, logs etc on the GUI.

That’s all in this post. Let me know if this is helpful to you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s