Open ruialves7 opened 2 months ago
Can you share what's the PipelineRun that is being generated by Trigger? Is feature flag configmap generated correctly?
Hi, On my K8s AutoScaler this is the message: I0927 09:31:51.685584 1 orchestrator.go:565] Pod pipelines/dev-pull-request-runfdpxn-curl-in-progress-pod can't be scheduled on eks-pipelines-node-group-b0c8f03f-1e3a-7266-dd3c-d6b07096b6c3, predicate checking error: node(s) didn't match pod affinity rules; predicateName=InterPodAffinity; reasons: node(s) didn't match pod affinity rules; debugInfo= The error message on pipeline run pod: 'pod status "PodScheduled":"False"; message: "0/8 nodes are available: 1 node(s) didn''t match pod anti-affinity rules, 2 node(s) had untolerated taint {app: 24h}, 2 node(s) had untolerated taint {app: permanentpod}, 3 node(s) had untolerated taint {eks.amazonaws.com/compute-type: fargate}. preemption: 0/8 nodes are available: 1 No preemption victims found for incoming pod, 7 Preemption is not helpful for scheduling."'
My tektonConfig: apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: profile: basic config: nodeSelector: app: 24h tolerations:
key: app operator: Equal value: 24h effect: NoSchedule targetNamespace: tekton-pipelines pruner: resources:
trigger: options: deployments: tekton-triggers-controller: spec: template: spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms:
matchExpressions:
tekton-triggers-core-interceptors: spec: template: spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms:
matchExpressions:
pipelineTaskName: git-clone computeResources: requests: cpu: "200m" memory: "256Mi" limits: cpu: "200m" memory: "256Mi"
pipelineTaskName: maven-run computeResources: requests: cpu: "1700m" memory: "6.5Gi" limits: cpu: "1700m" memory: "6.5Gi"
pipelineTaskName: curl-in-successful computeResources: requests: cpu: "200m" memory: "256Mi" limits: cpu: "200m" memory: "256Mi"
pipelineTaskName: curl-in-failed computeResources: requests: cpu: "200m" memory: "256Mi" limits: cpu: "200m" memory: "256Mi"
pipelineTaskName: curl-in-canceled computeResources: requests: cpu: "200m" memory: "256Mi" limits: cpu: "200m" memory: "256Mi" podTemplate: securityContext: fsGroup: 65532 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms:
name: shared-data volumeClaimTemplate: spec: accessModes:
name: m2-cache persistentVolumeClaim: claimName: m2-pvc
name: ssh-creds secret: secretName: (confidential secrets) params:
name: url value: (confidential url)
name: gitrevision value: $(tt.params.gitrevision)
name: linkbuild value: $(tt.params.linkbuild)
This works if i used AWS EFS on my PVC and disable affinity roles.
Expected Behavior
I have configured my tekton operator with:
I'm using the autoscaler on my node group on aws eks is using a ASG multi AZ. My trigger template has this configuration:
Actual Behavior
My pipelinerun has PVC and if I understand correctly the documentation, when we use coschedule isolate-pipelinerun, each pipelinerun should run in a different physical node, but it doesn't happen and retun this error:
Steps to Reproduce the Problem
1. 2. 3.
Additional Info
Kubernetes version: 1.30
Output of
kubectl version
:Tekton Pipeline version: latest-v
Output of
tkn version
orkubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'