Search
🏷️

[CKA] 16. Labels & Selectors

Date
2024/11/23
Category
Devops
Tag
Kubernetes
CKA
Scheduling
Label은 필요에 따라 object를 분류하고 여과하기 위한 수단이며, Selector는 Label에 따라 필터링하는 속성이다
각 Object에 app, function 등 필요에 따라 라벨 부착
어떤 object를 필터링할 것인지 조건 명시
Label은 metadatalabels를 생성하여 지정
labels는 key:value 포맷을 가지며, 그 수는 상관 없음
selector 조건을 통해 특정 앱만 조회 가능
kubectl get pods --selector app=App1
# replicaset-definition.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: simple-webapp labels: # RS의 label app: App1 function: front-end spec: replicas: 3 selector: # Pod 식별 matchLabels: app: App1 template: metadata: labels: # Pod의 label app: App1 function: front-end containers: - name: simple-webapp image: simple-webapp
YAML
복사
metadata.labels: replicaset의 라벨
spec.selector.matchLabels: resplicaset과 연결되는 Pod 식별 selector
spec.template.metadata.labels: Pod의 라벨
# service-definition.yaml apiVersion: v1 kind: Service metadata: name: my-services spec: selector: # Pod 식별 app: App1 ports: - protocol: TCP port: 80 targetPort: 9376
YAML
복사
spec.selector: 서비스와 연결되는 Pod를 식별하는 selector

Annotations

정보 수집 목적으로 세부 사항을 기록하는데 사용
이름, 버전, 빌드 정보 같은 툴 세부정보를 기록
연락처, 이메일 같은 정보를 통합 목적으로 사용
# replicaset-definition.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: simple-webapp labels: app: App1 function: front-end annotations: buildversion: 1.34 # 빌드 버전 등의 세부 사항을 기록 spec: replicas: 3 selector: matchLabels: app: App1 template: metadata: labels: app: App1 function: front-end containers: - name: simple-webapp image: simple-webapp
YAML
복사