tekton - more than one PersistentVolumeClaim is bound

김건호·2023년 2월 7일
1

에러상황

파이프라인을 실행하는 과정에서 podman-build 태스크가 실행조차 되지 않아 확인한 결과,more than one PersistentVolumeClaim is bound 라는 메시지를 표시하고 있었습니다.

testapp-config-00000-a3dip-podman-build-jk2gg:
      pipelineTaskName: podman-build
      status:
        completionTime: '2023-02-07T08:23:05Z'
        conditions:
          - lastTransitionTime: '2023-02-07T08:23:05Z'
            message: more than one PersistentVolumeClaim is bound
            reason: TaskRunValidationFailed

원인

파이프라인 구조

태스크 코드

git-clone

      jobs:
        postSubmit:
          - name: git-clone
            tektonTask:
            ...
              workspaces:
                - name: output
                  workspace: s2i

podman-build

          - after:
              - git-clone
            name: podman-build
            tektonTask:
              ...
              workspaces:
                - name: source
                  workspace: s2i
                - name: build-pvc
                  workspace: build-pvc

workspace 정의

      workspaces:
        ...
        - name: s2i
          persistentVolumeClaim:
            claimName: 'cicd-pvc-${APP_NAME}'
        ...

두 개 이상의 workspace에서 하나의 pvc를 사용하려고 해서 생기는 문제입니다.
git-clone 태스크에서 이미 s2i workspace ( cicd-pvc )를 사용했는데, podman-build 태스크에서 또 다시 s2i workspace ( cicd-pvc )를 사용하려고 하여 에러가 난 상황입니다.

해결방법

kubectl edit cm -n tekton-pipelines feature-flags
---

apiVersion: v1
data:
  disable-affinity-assistant: "false" ---> true로 변경
...

참고자료

https://github.com/tektoncd/pipeline/issues/3480
https://stackoverflow.com/questions/70089769/tekton-task-fails-with-more-than-one-persistentvolumeclaim-is-bound

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글