쿠버 공부 - 레이블과 어노테이션

00_8_3·2021년 5월 22일
0

쿠버네티스 공부

목록 보기
10/11

레이블이란

Label

  • 노드를 포함하여 pod, deployment 등 모든 리로스에 할당
  • 리소스의 특성을 분류하고 Selector를 이용해서 선택
  • 키-값 한쌍으로 적용

ex)

  • "release" : "stable", "release": " "canary"
  • "env" : "dev", "env" : "qa", "env" : "prod"
  • "tier" : "front", "tier" : "back", "tier" : "cache"

이런식으로 레이블로 pod 관리.

레이블 명령어

  • 레이블 보기
    kubectl get nodes --show-labels
    kubectl get nodes -L 레이블이름
    ex)
    kubectl get nodes -L disk,gpu

  • 레이블 관리

    • 레이블 생성 및 변경 (또는 nodeSelector로 생성)
      kubectl label node 이름 key=value
      kubectl label node 이름 key=value --overwrite
    • 레이블 확인
      kubectl label node 이름 --show-labels
    • 레이블 제거
      kubectl label node 이름 key-

pod-nodeselector

apiVersion: v1
kind: Pod
metadata:
  name: pod-nodeselector
spec:
  nodeSelector:
    gpu: "true"
    disk: ssd
  containers:
  - name: nginx
    image: nginx:1.14
    ports:
    - containerPort: 80

annotation

  • 쿠버네티스에게 특정 정보 전달할 용도로 사용
    * 예를들어 Deployment의 롤링 업데이트 정보기록
annotaions:
  kubernetes.io/change-cause: version 1.15
  • 관리를 위해 피룡한 정보를 기록할 용도로 사용
aviVersion: v1
kind: Pod
metadata:
  name: pod-annotaion
  annotaitons:
    builder: "seongmi Lee (seongmi.lee@gmail.com)"
    builDate: "20210502"
    imageRegistry: https://hub.docker.com/
spec:
  containers:
  - name: nginx
    image: nginx:1.14
    ports:
    - containerPort: 80

0개의 댓글