목차

Kubernetes Label & Selector

복잡하고 다양한 Pod를 효율적인 집합으로 다루기 위한 방법으로 Label 사용

  • Key-Value 기반의 속성 tag로 하나 이상 설정 가능
  • 용도에 따른 리소스 선택시 유용 → 객체를 식별하고 그룹화
  • Pod는 Label을 가질 수 있고, 검색조건에 따라 Pod를 특정 가능
  • Label로 선택된 특정 Pod만 배포 업데이트 또는 접근권한을 부여하는 작업 가능
metadata:
  name: mynode-pod
  labels:
    app: run-node
    job: front
  • 추가적인 메타 정보를 저장하는 목적
    • Label : 객체를 식별 또는 그룹화
    • Annotation: API를 통해 추가적인 데이터를 저장 가능
  • 설정정보 전달 및 도구에 대한 정보 제공
    • 객체에 대한 업데이트 사유 추적
    • 특정 스케쥴링 전달
metadata:
  annotations:
    examples.com/icon-url: "https://example.com/icon.png"
#예시 : 특정 아이콘의 URL 주소를 제공

backend 개발자 — selector: job: web (1개영역)

# backend 개발자
apiVersion: v1
kind: Service
metadata:
  name: front-web-svc
spec:
  selector:
    job: web
    #1개영역
  ports:
  - port: 8081

운영팀 — selector: type: infra (3개영역)

#운영팀
apiVersion: v1
kind: Service
metadata:
  name: front-web-svc
spec:
  selector:
    type: infra
    #3개영역
  ports:
  - port: 8081

운영팀 웹개발, 관리자 — selector: job: web + type: infra

#운영팀 웹개발,관리자
apiVersion: v1
kind: Service
metadata:
  name: front-web-svc
spec:
  selector:
    job: web
    type: infra
  ports:
  - port: 8081