Dev/KUBERNETES

쿠버네티스 초보가 꼭 알아야 할 라벨링 vs Role의 결정적 차이점

Andrea.K 2025. 7. 18. 08:02
반응형

라벨링(Labels) - 리소스 식별 도구

라벨링은 쿠버네티스 리소스에 메타데이터를 붙이는 기능입니다. 마치 물건에 스티커를 붙여 분류하는 것과 같습니다.

주요 특징:

  • 형태: key-value 쌍 형태 (app=nginx, version=v1.2)
  • 용도: 리소스 검색, 필터링, 그룹화
  • 보안과 무관: 단순히 태그 역할만 수행
metadata:
  labels:
    app: web-server
    tier: frontend
    version: v1.0

실제 활용 예시:

  • Service가 특정 라벨을 가진 Pod들을 찾아 트래픽 전달
  • 배포 시 라벨로 구분하여 롤링 업데이트 수행
  • 모니터링 도구에서 라벨 기반 리소스 그룹핑

Role - 권한 관리 시스템

Role은 RBAC(Role-Based Access Control)의 핵심 구성 요소로, "누가 무엇을 할 수 있는지"를 정의합니다.

주요 특징:

  • 목적: 보안 및 권한 제어
  • 형태: 리소스별 허용 작업 규칙 정의
  • 적용: 사용자나 서비스 계정에 권한 부여
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list"]

핵심 차이점 정리

구분 라벨링 Role
목적 리소스 분류/식별 권한 관리
보안 기능 없음 핵심 보안 기능
적용 대상 모든 쿠버네티스 리소스 사용자/서비스 계정
사용 방식 셀렉터로 리소스 선택 RoleBinding으로 권한 부여

예시로 이해하기: 라벨링은 도서관에서 책에 붙인 장르 스티커와 같고, Role은 도서관 이용자가 "대출만 가능" 또는 "열람실 이용 가능" 등의 권한을 부여받는 것과 같습니다.

 

반응형