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