우노
[Composer] Pod에서 다른 Pod 생성 시 에러 발생 본문
발생 에러
- 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
- kubernetes service account namespace
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
'GCP > Composer' 카테고리의 다른 글
[GCP] Composer 파이썬 패키지 업데이트 with gcloud (0) | 2023.09.06 |
---|---|
[GCP] Composer DAG 파일 업데이트 방법 with gcloud (0) | 2023.09.06 |
Comments