label 이란?

pods와 같은 오브젝트에 첨부된 키와 값의 쌍이다.

"metadata": {
  "labels": {
    "key1" : "value1",
    "key2" : "value2"
  }
}
  • 유효한 레이블 값은 63자 미만 또는 공백이며 시작과 끝은 알파벳과 숫자([a-z0-9A-Z])이며, 대시(-), 밑줄(_), 점(.)과 함께 사용할 수 있다.

label은 고유하지 않기 때문에 label selector를 통해 오브젝트를 식별한다.


Equality-based requirement

연산자를 통해 필터링

environment = production

tier != frontend

비교 연산자 = , ==, !=

ex) kubectl get pods -l environment=production,tier=frontend


Set-based requirement

값을 이용한 필터링 (in, notin exists)

environment in (production, qa)

tier notin (frontend, backend)

partition

!partition

ex)kubectl get pods -l ‘environment in (production),tier in (frontend)’


출처

https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/