CDE(Cloudera Data Engineering) 서비스가 ClusterChartInstallationFailed 로 끝나고 dex-base Helm 설치가 context deadline exceeded 로 타임아웃된다. Pod 이벤트는 다음과 같다.
dex-base-keytab-management MountVolume.SetUp failed for volume "krb5conf": configmap "clientconfigs-default-kerberos-conf" not found
dex-base-management-api MountVolume.SetUp failed for volume "cm-root-ca-cert": configmap "clientconfigs-default-tls-pem" not found
dex-base-tgtgen MountVolume.SetUp failed for volume "pvc-configs-krb5": configmap "clientconfigs-default-kerberos-conf" not found
Kerberos 용과 TLS 용 ConfigMap 이 둘 다 없다. 개별 설정 오류라면 하나만 없어야 하므로, 이 ConfigMap 들을 만드는 부트스트랩 단계 자체가 돌지 않은 것이다. 이벤트의 Predicate failed ... untolerated taint {node-role.kubernetes.io/control-plane} 는 스케줄러가 control-plane 노드를 후보에서 뺐다는 정상 기록(Normal) 이며 바로 다음 줄에 워커 노드로 배치 성공이 찍히므로 실패 원인이 아니다.
kubectl get configmap -n <dex-base-ns> | grep clientconfigs-default # 정상 클러스터에는 atlas, hadoop, kerberos, spark3, tls-conf, tls-pem, yarn 이 있다
kubectl get pods -n <dex-base-ns>
kubectl describe pod <init 대기 pod> -n <dex-base-ns>
kubectl logs <CrashLoopBackOff pod> -n <dex-base-ns> --previous
정상 클러스터와 비교하면 문제 클러스터에서만 dex-base-data-connectors 가 CrashLoopBackOff(15회 재시작) 이고 keytab-management · knox · management-api · tgtgen 은 Init:0/2 에서 ConfigMap 을 기다리고 있었다.
[error] failed to initialize database, got error Error 1049: Unknown database 'dex_admin'
[FATAL] ... DB session creation error: ... Error 1049: Unknown database 'dex_admin'
인과 관계는 data-connectors 가 dex_admin DB 접속 실패로 죽음 → 부트스트랩 체인 중단 → clientconfigs-* 미생성 → 나머지 Pod 가 Init 에서 무한 대기 → Helm 타임아웃이다. 인증서도 Kerberos 도 아니고 DB 문제다.
dex_admin 이 없는 이유는 부트스트랩 시 DB 생성 누락, 다른 DB 인스턴스를 바라봄, 계정 권한 문제 중 하나다. 접속 대상은 ConfigMap(dex-base-configs-manager, dex-base-db-server-config, dex-base-data-connectors) 과 kubectl describe pod 로 확인하고, embedded DB(cdp-cde-embedded-db-0) 로그와 상태를 본다. 비밀번호는 kubectl get secret <name> -o jsonpath='{.data.<key>}' | base64 -d 로 꺼낼 수 있지만 채팅 · 캡처에 남기지 않는다.
부트스트랩 중에 DB 가 만들어지지 않았다는 것은 서비스 초기화가 중간에 깨진 것이므로 DB 를 수동으로 만드는 것은 임시방편이다. 정석은 환경(Environment) 이 Healthy 인지, FreeIPA/Kerberos 가 정상인지 확인한 뒤 CDE 서비스를 disable 후 다시 enable(재생성) 하는 것이다. kubectl delete 로 직접 지우면 CDP 관리 레이어와 상태가 어긋난다.
cdp de list-services
cdp de disable-service --cluster-id <cluster-id> --force
서비스를 삭제하면 Virtual Cluster · Job 정의 · 실행 이력이 사라지므로 운영 서비스는 백업을 먼저 확인한다.
embedded DB 로그 확인과 서비스 재생성 결과는 대화에 남아 있지 않다.