tekton | Types and functions for building
kandi X-RAY | tekton Summary
kandi X-RAY | tekton Summary
This repository contains a library for constructing Tekton objects -- pipelines, tasks and so on.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of tekton
tekton Key Features
tekton Examples and Code Snippets
Community Discussions
Trending Discussions on tekton
QUESTION
I am trying to use a container image from a private container registry in one of my tasks.
...ANSWER
Answered 2022-Apr-03 at 06:35The secret you created (type basic-auth) would not allow Kubelet to pull your Pods images.
The doc mentions those secrets are meant to provision some configuration, inside your tasks containers runtime. Which may then be used during your build jobs, pulling or pushing images to registries.
Although Kubelet needs some different configuration (eg: type dockercfg), to authenticate when pulling images / starting containers.
QUESTION
We have a EKS cluster running with Traefik deployed in CRD style (full setup on GitHub) and wan't to deploy our app https://gitlab.com/jonashackt/microservice-api-spring-boot with the Kubernetes objects Deployment, Service and IngressRoute (see configuration repository here). The manifests look like this:
deployment.yml
:
ANSWER
Answered 2022-Apr-04 at 06:14IngressRoute
s .spec.routes[0].services[0].name
with Kustomize
Changing the IngressRoute
s .spec.routes[0].services[0].name
is possible with Kustomize using a NameReference
transformer (see docs here) - luckily I found inspiration in this issue. Therefore we need to include the configurations
keyword in our kustomize.yaml
:
QUESTION
We have a setup with Traefik as the Ingress Controller / CRD and ArgoCD. We installed ArgoCD into our EKS setup as described in the Argo getting stared guide:
...ANSWER
Answered 2022-Mar-31 at 13:16There are multiple options on how to configure ArgoCD. A great way is to use a declarative approach, which should be the default Kubernetes-style. Skimming the ArgoCD docs there's a additional configuration section where the possible flags of the ConfigMap argocd-cmd-params-cm
can be found. The flags are described in argocd-cmd-params-cm.yaml. One of them is the flag server.insecure
QUESTION
We want to build a simplified job/task processing system based on Kubernetes. We thought about using Knative and its eventing features. However, one requirement is to execute each task/job isolated in a separate pod. Afterwards, we wanna destroy the pod. Every other task/job is processed by new pods, etc. Further, the jobs/tasks can be long-running, i.e., multiple hours or even days.
We are wondering if we can use and configure Knative to achieve this. I'm actually a bit sceptical due to the scale to zero feature, which would destroy long-running jobs (learned from here: https://stackoverflow.com/a/65881346/7065173). Further, our jobs/tasks shouldn't necessarily listen to an HTTP(S) port. These jobs/tasks are basically pre-packaged into a container and the respective action is executed using Docker CMD
.
What do you guys think, is Knative a good baseline for our endeavour? ... Even more, do you have any tip/suggestion what baseline to use instead (we also have an eye on Tekton btw.)?
...ANSWER
Answered 2022-Mar-23 at 16:05If you have tasks you want to run for days, then Knative is probably not a good baseline for the effort. Knative assumes that your application is only active as long as there is at least one HTTP request in flight to your application. As you intuit, leaving an HTTP connection open for days is probably not a good design practice.
For your use case, it seems like Kubernetes Jobs might be the best approach. If you need something to react to the "there is work to spin up a job" signal and create the Job, you could use a Knative Service to talk to Kubernetes to create the Job; I've seen that work successfully in other cases.
Knative also doesn't provide a hard mechanism for "exit after processing one request"; for users that want this level of isolation, I've suggested putting an exit(1)
call in their application after they handle one request, but I agree that it's not an ideal workaround.
QUESTION
We have a AWS EKS setup (full repo here), where we install Traefik using Helm. This creates a Kubernetes Service
called traefik
which gets provisioned an AWS Elastic Load Balancer. The ELB url can be obtained using kubectl
like this:
ANSWER
Answered 2022-Mar-11 at 12:36We choose to use AWS CLI to do that for us. The docs provide a starting point. But we can't do this using a static file like with the proposed --change-batch file://sample.json
- instead we need to have it dynamic so we can use a command inside our GitHub Actions workflow.
The idea is derived from this so answer, where we can simply use the json snippet inline without an extra file. Also need to have an idempotent solution which we can run 1 or many times in GitHub Actions CI. Therefore we used the "Action" : "UPSERT"
(see https://aws.amazon.com/premiumsupport/knowledge-center/simple-resource-record-route53-cli/).
QUESTION
We have a GitHub Actions workflow consiting of 3 jobs:
provision-eks-with-pulumi
: Provisions AWS EKS cluster (using Pulumi here)install-and-run-argocd-on-eks
: Installing & configuring ArgoCD usingkubeconfig
from job 1.install-and-run-tekton-on-eks
: Installing & running Tekton usingkubeconfig
from job 1., but depending on job 2.
We are already aware of this answer and the docs and use jobs..outputs
to define the variable in job 1. and jobs..needs.
to use the variable in the subsequent jobs. BUT it only works for our job 2. - but failes for job 3.. Here's our workflow.yml:
ANSWER
Answered 2022-Feb-21 at 13:46That's easy, because a GitHub Actions job can depend on multiple jobs using the needs
keyword. All you have to do in job 3. is to use an array notation like needs: [job1, job2]
.
So for your workflow it will look like this:
QUESTION
We have a full-blown setup using AWS EKS with Tekton installed and want to use ArgoCD for application deployment.
As the docs state we installed ArgoCD on EKS in GitHub Actions with:
...ANSWER
Answered 2022-Feb-24 at 11:47QUESTION
We're already using the gitlab-set-status
Task from Tekton Hub to report our Tekton Pipeline's status back into our GitLab instance (here's our EKS setup & Tekton installment and a example project on gitlab.com). Our pipeline.yml
looks like this and currently reports the STATE
success every time the Tekton Pipeline runs:
ANSWER
Answered 2021-Nov-30 at 07:09In v0.14 Tekton introduced the so called finally
Tasks, which run at the end of every Pipeline
- regardless which Task failed or succeeded. As the docs state:
finally tasks are guaranteed to be executed in parallel after all PipelineTasks under tasks have completed regardless of success or error.
In general finally
tasks look like this:
QUESTION
As the kubernetes.io docs state about a Service
of type LoadBalancer
:
On cloud providers which support external load balancers, setting the type field to LoadBalancer provisions a load balancer for your Service. The actual creation of the load balancer happens asynchronously, and information about the provisioned balancer is published in the Service's
.status.loadBalancer
field.
On AWS Elastic Kubernetes Service (EKS) a an AWS Load Balancer is provisioned that load balances network traffic (see AWS docs & the example project on GitHub provisioning a EKS cluster with Pulumi). Assuming we have a Deployment
ready with the selector app=tekton-dashboard
(it's the default Tekton dashboard you can deploy as stated in the docs), a Service
of type LoadBalancer
defined in tekton-dashboard-service.yml
could look like this:
ANSWER
Answered 2022-Feb-24 at 11:37TLDR;
Prior to Kubernetes v1.23
it's not possible using kubectl wait
, but using until
together with grep
like this:
QUESTION
We have a AWS EKS running (setup using Pulumi), where we installed Tekton as described in the Cloud Native Buildpacks Tekton docs. The example project is available.
Our Tekton pipeline is configured like this (which is derived from the Cloud Native Buildpacks Tekton docs also):
...ANSWER
Answered 2021-Nov-16 at 15:31TLDR;
I created a fully comprehensible example project showing all necessary steps and running pipelines here: https://gitlab.com/jonashackt/microservice-api-spring-boot/ with the full .gitlab-ci.yml
to directly trigger a Tekton Pipeline:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install tekton
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page