레이블과 어노테이션

Labels are for Kubernetes, while annotations are for humans.

Kubernetes의 레이블은 
레이블은 선택기와 함께 사용되어 관련 리소스 그룹을 식별합니다. 선택기는 레이블을 쿼리하는 데 사용되므로 이 작업은 효율적이어야 합니다. 효율적인 쿼리를 위해 레이블은 RFC 1123에 의해 제한됩니다. RFC 1123은 다른 제약 조건 중에서 레이블을 최대 63자 길이로 제한합니다. 따라서 Kubernetes가 관련 리소스 집합을 그룹화하도록 하려면 레이블을 사용해야 합니다.

Kubernetes의 주석이란
주석은 "비식별 정보", 즉 Kubernetes가 신경 쓰지 않는 메타데이터에 사용됩니다. 따라서 주석 키와 값에는 제약 조건이 없습니다. 따라서 주어진 리소스에 대해 다른 사람을 위한 정보를 추가하려는 경우 주석이 더 나은 선택입니다.

 

레이블이란?

- 노드, pod, deployment 등 모든 리소스에 할당

- 리소스의 특성을 분류하고, selector를 이용해서 선택

- key-value 한쌍으로 적용

 

워커 노드에 레이블 설정

 

 

 

 

어노테이션(annotation)

Kubernetes 어노테이션을 사용하여 임의의 비식별 메타데이터를 개체에 연결할 수 있습니다. 도구 및 라이브러리와 같은 클라이언트는 이 메타데이터를 검색할 수 있습니다.

레이블을 사용하여 개체를 선택하고 특정 조건을 충족하는 개체 모음을 찾을 수 있습니다. 반면 어노테이션은 개체를 식별하고 선택하는 데 사용되지 않습니다. 어노테이션의 메타데이터는 작거나 크거나, 구조화되거나 구조화되지 않을 수 있으며 레이블에서 허용하지 않는 문자를 포함할 수 있습니다.

 

label과 동일하게 key-value 를 통해 리소스의 특성을 기록

쿠버네티스에 특정 정보를 전달한 목적으로 사용

예시) deployment 의 rolling update 정보 기록 

annotations:
  kubernetes.io/change-cause: version 1.15

관리를 위해 필요한 정보를 저장할 목적으로 사용

- 릴리즈, 로깅, 모니터링에 필요한 정보들을 기록

annotations:
  builder: "hong kil done(hkd@google.com)"
  buildDate: "20220601"
  imageRegistry: https://hub.docker.com

 

레이블을 이용한 카나리 배포(canary deployment)

 

pod를 배포하는 방법

  • 블루 그린 업데이트 : 블루를 내리고 그린으로 대체(다운타임 발생)
  • 카나리 업데이트 : 
  • 롤링 업데이트 : 하나씩 교체

 

canary 배포

- 기존 버전을 유지한 채 일부 버전만 업데이트하여 이상 여부를 확인하는 방법

레이블을 이용한 canary 배포 방법

단일 진입점으로 묶기 위해서 서비스를 사용함

 

 

'쿠버네티스' 카테고리의 다른 글

쿠버네티스 - configmap  (0) 2022.05.18
쿠버네티스 - configmap  (0) 2022.05.18
쿠버네티스 Cluster 설치하기 - on centos linux  (0) 2022.05.17
쿠버네티스 - CPU, 메모리 할당하기  (0) 2022.05.17
쿠버네티스 - POD  (0) 2022.05.09

+ Recent posts