🏷 Kubernetes 라벨(Label)로 조회하고 일괄 수정하기

2026. 2. 21. 16:48k8s

Kubernetes에서 라벨(Label)은 단순한 메타데이터가 아니다.

라벨은:

  • 리소스 조회 필터
  • Service 연결 기준
  • 정책 적용 대상 구분
  • 운영 단위 그룹핑 기준

으로 사용되는 핵심 요소다.

이번 글에서는 라벨 조회와 일괄 수정 방법을 정리한다.


📌 1️⃣ 라벨 컬럼 함께 조회하기

특정 라벨을 컬럼으로 표시하려면:

kubectl get po -L app

또는

kubectl get po --label-columns=app

출력 예:

NAME     READY   STATUS    AGE   APP
pod1     1/1     Running   5m    v1
pod2     1/1     Running   5m    v2

📌 2️⃣ 특정 라벨 값만 조회하기

app=v2 인 Pod만 조회

kubectl get po -l app=v2

또는

kubectl get po --selector=app=v2

📌 3️⃣ 집합 조건으로 조회하기

app=v1 또는 v2

kubectl get po -l "app in (v1,v2)"

app=v2 이면서 tier!=frontend

kubectl get po -l app=v2,tier!=frontend

쉼표는 AND 조건이다.


📌 4️⃣ 조건에 맞는 Pod에 라벨 추가하기

예시:

app=v1 또는 app=v2 인 모든 Pod에 tier=web 라벨 추가

kubectl label po -l "app in (v1,v2)" tier=web

📌 5️⃣ 기존 라벨 덮어쓰기

이미 해당 키가 존재하면 에러가 발생한다.

이 경우:

kubectl label po -l "app in (v1,v2)" tier=web --overwrite

📌 6️⃣ 라벨 삭제하기

라벨 제거는 -를 붙인다.

kubectl label po -l app=v1 tier-

📊 자주 사용하는 표현 정리

기능 명령
라벨 컬럼 보기 kubectl get po -L app
단일 값 조회 kubectl get po -l app=v1
집합 조회 kubectl get po -l "app in (v1,v2)"
AND 조건 -l key1=val1,key2=val2
라벨 추가 kubectl label po name key=value
조건부 일괄 추가 kubectl label po -l selector key=value
라벨 삭제 kubectl label po name key-

🔎 라벨 선택자 종류

Equality-based

  • app=v1
  • app!=v1

Set-based

  • app in (v1,v2)
  • app notin (v1)
  • app (key 존재)
  • !app (key 없음)

🎯 운영에서 중요한 이유

라벨은 단순 조회 용도가 아니다.

  • Service는 라벨로 트래픽을 연결한다.
  • NetworkPolicy는 라벨 기준으로 허용/차단한다.
  • HPA는 라벨 기반으로 대상 리소스를 찾는다.

즉, 라벨 변경은 트래픽 흐름과 정책에 직접적인 영향을 줄 수 있다.


🏁 정리

라벨은 Kubernetes 리소스를

  • 조회하고
  • 그룹화하고
  • 일괄 수정하고
  • 정책을 연결하는

핵심 관리 도구다.

라벨 선택자 문법을 이해하면
대규모 클러스터 운영이 훨씬 수월해진다.