오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-08 16:23
관리 메뉴

우노

[Composer] Pod에서 다른 Pod 생성 시 에러 발생 본문

GCP/Composer

[Composer] Pod에서 다른 Pod 생성 시 에러 발생

운호(Noah) 2023. 9. 11. 16:53

발생 에러

  • HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pods is forbidden: User "system:serviceaccount:composer-1-20-8-airflow-2-4-3-c5d909a1:default" cannot list resource "pods" in API group "" in the namespace "composer-1-20-8-airflow-2-4-3-c5d909a1"","reason":"Forbidden","details":{"kind":"pods"},"code":403}

원인 및 해결 방법

  • Airflow Pod에서 다른 Pod를 생성하기 위해선 권한이 필요합니다.
  • 해당 포스팅에선, pod 생성 권한을 가지고 있는 clusterrole을 특정 serviceaccount가 가질 수 있도록, clusterrolebinding을 해보겠습니다.
    • 사용할 clusterrole은 “cluster-admin”입니다.
    • “cluster-admin”은 k8s의 super user 입니다.
    • 혹시 너무 큰 권한이 부담스럽다면 별도의 clusterrole을 생성해야합니다.

clusterrolebinding 생성

  • 이미 생성되어있는 “cluster-admin” 의 세부 정보 확인

      kubectl describe clusterrole cluster-admin
      Name:         cluster-admin
      Labels:       kubernetes.io/bootstrapping=rbac-defaults
      Annotations:  rbac.authorization.kubernetes.io/autoupdate: true
      PolicyRule:
        Resources  Non-Resource URLs  Resource Names  Verbs
        ---------  -----------------  --------------  -----
        *.*        []                 []              [*]
                   [*]                []              [*]
  • clusterrolebinding 생성

      kubectl create clusterrolebinding default-admin --clusterrole=cluster-admin --serviceaccount=composer-1-20-8-airflow-2-4-3-c5d909a1:default
    • kubernetes service account namespace
      • composer-1-20-8-airflow-2-4-3-c5d909a1
    • kubernetes service account name
      • default
  • clusterrolebinding 설정 확인

      kubectl describe clusterrolebinding default-admin
      Name:         default-admin
      Labels:       <none>
      Annotations:  <none>
      Role:
        Kind:  ClusterRole
        Name:  cluster-admin
      Subjects:
        Kind            Name     Namespace
        ----            ----     ---------
        ServiceAccount  default  composer-1-20-8-airflow-2-4-3-c5d909a1
Comments