🏷 Kubernetes 라벨(Label)로 Pod 조회하기 완전 정리

2026. 2. 21. 16:43k8s

Kubernetes에서 리소스를 조회할 때
라벨(Label)은 가장 강력한 필터 도구다.

Pod, Deployment, Service 등 거의 모든 리소스는 라벨을 기반으로 관리된다.


📌 1️⃣ 특정 라벨 컬럼을 함께 보기

Pod 목록을 조회하면서 app 라벨을 컬럼으로 표시해보자.

kubectl get po -L app

또는

kubectl get po --label-columns=app

출력 예:

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

👉 APP 컬럼이 추가로 표시된다.


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

🔹 app=v2 인 Pod만 조회

kubectl get po -l app=v2

또는

kubectl get po --selector=app=v2

또는 집합 표현식:

kubectl get po -l 'app in (v2)'

📌 3️⃣ 여러 조건을 함께 사용하기

🔹 app=v2 이면서 tier!=frontend

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

또는

kubectl get po -l 'app in (v2), tier notin (frontend)'

또는

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

🔎 라벨 선택자(selector) 종류 정리

Kubernetes 라벨 필터는 크게 두 가지 방식이 있다.


🔹 1️⃣ Equality-based (동등 비교)

표현 의미
app=v1 app가 v1
app!=v1 app가 v1이 아님
app=v1,tier=backend AND 조건

🔹 2️⃣ Set-based (집합 비교)

표현 의미
app in (v1,v2) v1 또는 v2
app notin (v1) v1 제외
app key 존재
!app key 없음

예:

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

📌 실무에서 자주 쓰는 패턴

1️⃣ 특정 서비스 버전만 보기

kubectl get po -l app=v2

2️⃣ 특정 환경 제외하기

kubectl get po -l 'env notin (dev)'

3️⃣ key 존재 여부 확인

kubectl get po -l app

📊 AND 조건과 OR 조건

  • 쉼표(,)는 AND 조건
  • OR 조건은 in 사용

예:

kubectl get po -l 'app in (v1,v2), tier=backend'

의미:

(app=v1 또는 v2) AND (tier=backend)


📌 라벨 컬럼 + 필터 함께 사용

kubectl get po -l app=v2 -L app,tier

→ 조회 + 라벨 컬럼 동시에 확인 가능


🎯 한 줄 정리

  • -L → 컬럼에 라벨 표시
  • -l → 라벨 필터링
  • = → 동등 비교
  • in / notin → 집합 비교
  • 쉼표는 AND 조건

라벨 조회를 제대로 이해하면
Kubernetes 리소스 관리는 훨씬 수월해진다.