1.8. 여러 네임스페이스를 제공하도록 이벤트 리스너 구성


참고

기본 CI/CD 파이프라인을 생성하려면 이 섹션을 건너뛸 수 있습니다. 그러나 배포 전략에 여러 네임스페이스가 포함된 경우 여러 네임스페이스를 제공하도록 이벤트 리스너를 구성할 수 있습니다.

클러스터 관리자는 EvenListener 오브젝트의 재사용 가능성을 높이기 위해 여러 네임스페이스를 제공하는 멀티 테넌트 이벤트 리스너로 구성하고 배포할 수 있습니다.

프로세스

  1. 이벤트 리스너에 대한 클러스터 전체 가져오기 권한을 구성합니다.

    1. ClusterRoleBindingEventListener 오브젝트에 사용할 서비스 계정 이름을 설정합니다. 예를 들면 el-sa 입니다.

      예시 ServiceAccount.yaml

      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: el-sa
      ---
      Copy to Clipboard Toggle word wrap

    2. ClusterRole.yaml 파일의 규칙 섹션에서 모든 이벤트 리스너 배포에 대한 적절한 권한을 클러스터 전체에서 작동하도록 설정합니다.

      ClusterRole.yaml

      kind: ClusterRole
      apiVersion: rbac.authorization.k8s.io/v1
      metadata:
        name: el-sel-clusterrole
      rules:
      - apiGroups: ["triggers.tekton.dev"]
        resources: ["eventlisteners", "clustertriggerbindings", "clusterinterceptors", "triggerbindings", "triggertemplates", "triggers"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["configmaps", "secrets"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["serviceaccounts"]
        verbs: ["impersonate"]
      ...
      Copy to Clipboard Toggle word wrap

    3. 적절한 서비스 계정 이름과 클러스터 역할 이름을 사용하여 클러스터 역할 바인딩을 구성합니다.

      ClusterRoleBinding.yaml

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: el-mul-clusterrolebinding
      subjects:
      - kind: ServiceAccount
        name: el-sa
        namespace: default
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: el-sel-clusterrole
      ...
      Copy to Clipboard Toggle word wrap

  2. 이벤트 리스너의 spec 매개변수에 서비스 계정 이름(예: el-sa )을 추가합니다. 이벤트 리스너가 제공하려는 네임스페이스의 이름으로 namespaceSelector 매개변수를 작성합니다.

    EventListener.yaml의 예

    apiVersion: triggers.tekton.dev/v1beta1
    kind: EventListener
    metadata:
      name: namespace-selector-listener
    spec:
      taskRunTemplate:
        serviceAccountName: el-sa
      namespaceSelector:
        matchNames:
        - default
        - foo
    ...
    Copy to Clipboard Toggle word wrap

  3. 필요한 권한(예: foo-trigger-sa )을 사용하여 서비스 계정을 생성합니다. 트리거를 역할 바인딩에 사용합니다.

    예시 ServiceAccount.yaml

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: foo-trigger-sa
      namespace: foo
    ...
    Copy to Clipboard Toggle word wrap

    RoleBinding.yaml

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: triggercr-rolebinding
      namespace: foo
    subjects:
    - kind: ServiceAccount
      name: foo-trigger-sa
      namespace: foo
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: tekton-triggers-eventlistener-roles
    ...
    Copy to Clipboard Toggle word wrap

  4. 적절한 트리거 템플릿, 트리거 바인딩 및 서비스 계정 이름을 사용하여 트리거를 생성합니다.

    Trigger.yaml의 예

    apiVersion: triggers.tekton.dev/v1beta1
    kind: Trigger
    metadata:
      name: trigger
      namespace: foo
    spec:
      taskRunTemplate:
        serviceAccountName: foo-trigger-sa
      interceptors:
        - ref:
            name: "github"
          params:
            - name: "secretRef"
              value:
                secretName: github-secret
                secretKey: secretToken
            - name: "eventTypes"
              value: ["push"]
      bindings:
        - ref: vote-app
      template:
        ref: vote-app
    ...
    Copy to Clipboard Toggle word wrap

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동