open:레이블

레이블

레이블은 파드와 같은 오브젝트에 불이는 키/값 쌍이다.
레이블은 사용자와 관련된 의미 있는 오브젝트의 속성을 식별하는 데 사용되지만 코어 시스템과 직접적인 관련은 없다.

apiVersion: v1
kind: Pod
metadata:
  labels:
    app: demo

레이블셀렉터와 함께 사용할 때 진정한 힘을 발휘한다.

  • 레이블은 실행 중인 특정 파드인스턴스들을 가리키기 위해 레플리카세트에서 사용된다. 즉 모든 파드 정의에는 스케쥴링에서 사용될 공유한 레이블 조합이 있어야 한다는 의미다.
  • 레이블은 스케쥴러에서 많이 사용된다. 스케쥴러는 파드의 요구사항에 맞는 노드에 파드를 배치하기 위해, 레이블을 사용해 파드를 분산시키기도 하고 함께 노드에 위치시키기도 한다.
  • 레이블은 파드를 논리적 그룹으로 묶어 가리킬 수 있고 그 파드 그룹에 애플리케이션 식별자를 지정할 수 있다.
  • 이와 같은 일반적인 사용 예 외에 레이블은 메타데이터를 저장하는 데도 쓰인다. 어떤 레이블이 사용될지 미리 예측하기는 어렵지만 파드의 모든 중요한 면을 설명할 수 있도록 레이블을 정의해두는 것이 좋다. 예를 들어 논리적인 애플리케이션 그룹, 비즈니스 특성과 중요도, 하드웨어 아키텍처나 위치 설정 같은 특정 런타임 플랫폼 의존성을 가리키는 레이블을 갖고 있으면 모두 쓸모가 있다.

kubectl get pods --show-labels

상용 환경의 서비스 셀렉터

selector:
  app: demo
  environment: production

레이블 활용

metadata:
  labels:
    app: demo
    tier: frontend
    environment: production
    environment: test
    version: v1.12.0
    role: primary


  • open/레이블.txt
  • 마지막으로 수정됨: 2021/10/29 04:46
  • 저자 127.0.0.1