Kubernetes Label & Selector
목차
복잡하고 다양한 Pod를 효율적인 집합으로 다루기 위한 방법으로 Label 사용
- Key-Value 기반의 속성 tag로 하나 이상 설정 가능
- 용도에 따른 리소스 선택시 유용 → 객체를 식별하고 그룹화
- Pod는 Label을 가질 수 있고, 검색조건에 따라 Pod를 특정 가능
- Label로 선택된 특정 Pod만 배포 업데이트 또는 접근권한을 부여하는 작업 가능
metadata:
name: mynode-pod
labels:
app: run-node
job: front추가 ( Annotations )
- 추가적인 메타 정보를 저장하는 목적
- 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