패턴 1 (Label 기준): 레이블 키를 행으로, 호스트명을 열로 하여 각 값을 표시
패턴 2 (Hostname 기준): 호스트명을 행으로, 레이블 key=value를 열로 하여 존재 여부를 ○/× 로 표시
사용법
bash# 기본 사용 (패턴 1, 탭 구분)
python k8s_label_exporter.py
python k8s_label_exporter.py --pattern 2
python k8s_label_exporter.py --pattern 1 -o labels_pattern1.csv
python k8s_label_exporter.py --both -o labels
python k8s_label_exporter.py --include-keys kubernetes.io/hostname node-role.kubernetes.io/control-plane
python k8s_label_exporter.py --exclude-keys beta.kubernetes.io/arch beta.kubernetes.io/os
python k8s_label_exporter.py --delimiter ","
주요 특징
kubectl 명령어 자동 실행: kubectl get nodes -o json을 통해 노드 정보 수집
에러 처리: kubectl 명령 실패 시 적절한 에러 메시지 출력
필터링 기능: 특정 레이블 키만 포함하거나 제외 가능
유연한 출력: 콘솔 출력 또는 파일 저장 선택 가능
구분자 설정: 탭, 쉼표 등 원하는 구분자 사용 가능
실행하면 클러스터의 모든 노드 레이블을 수집하여 요청한 형태의 CSV로 출력합니다. kubectl이 설치되어 있고 클러스터에 접근 가능한 환경에서 사용