Kubernetes

[k8s] kubectl - 여러 레이블 값을 가진 객체 한 번에 찾기

비번변경 2023. 12. 13. 16:02

개요

어떤 레이블을 가진 객체를 확인할 때는 kubectl get -l 옵션으로 조건으로 줄 레이블 키-값을 지정한다.

kubectl get pods -l app=web-server

그렿다면 여러 값을 OR 조건으로 주어야 할 때는 어떻게 할 수 있을까? 적절한 방법인지는 모르겠지만 나의 경우에는 다음과 같이 확인하곤 했다.

하지만 최근에 -l 옵션을 이용해 조회하는 방법을 알게 되어 정리한다.

 

 

-l 'KEY in (VAL1,VAL2)'

kubectl 명령으로 특정 레이블 키-값을 가진 객체를 조회하는 -l 옵션을 사용할 때 여러 값 중 하나라도 만족하는 객체를 찾고 싶다면 조회 조건을 아래와 같이 지정하면 된다.

kubectl get RESOURCE -l 'KEY in (VAL1,VAl2,VAL3...)'

# 예시
kubectl get pods -l 'app in (web-server,api-server)' --show-labels

 

 

응용

단순히 조회하는 것뿐만 아니라 레이블을 추가하거나 어노테이션을 추가하는 등의 작업도 수행할 수 있다.

kubectl annotate pods owner=DXTCenter -l 'app in (web-server,api-server)'

 

 

참고 문서

https://github.com/dgkanatsios/CKAD-exercises/blob/main/c.pod_design.md#get-only-the-appv2-pods