K8s 권장 레이블

1 개요[ | ]

Recommended Labels
권장 레이블
  • 쿠버네티스 리소스에 공통적으로 적용할 수 있는 메타데이터 표준
  • 이는 kubectl, 대시보드뿐만 아니라 다양한 도구에서 리소스를 시각화하고 관리할 수 있도록 상호 운용성을 제공한다.
  • 권장 레이블은 필수는 아니지만, 애플리케이션을 일관성 있게 기술하고 조회하기 쉽게 만든다.
  • 쿠버네티스는 PaaS가 아니므로 “애플리케이션”에 대한 엄격한 정의는 없다. 대신 권장 레이블을 통해 애플리케이션과 인스턴스를 구분하고 설명한다.
  • k8s 잘 알려진 레이블의 일부

  • 공통 접두사: app.kubernetes.io/
  • 접두사 없는 레이블은 사용자 전용이며, 공통 접두사는 충돌을 방지한다.
  • 애플리케이션 이름과 인스턴스 이름을 분리하여 여러 설치를 구분할 수 있다.

2 목록[ | ]

Key 설명 예시
app.kubernetes.io/name 애플리케이션 이름 mysql
app.kubernetes.io/instance 애플리케이션 인스턴스 고유 이름 mysql-abcxyz
app.kubernetes.io/version 현재 버전 (SemVer, 리비전 해시 등) 5.7.21
app.kubernetes.io/component 아키텍처 내 구성 요소 database
app.kubernetes.io/part-of 상위 애플리케이션 이름 wordpress
app.kubernetes.io/managed-by 애플리케이션 관리 도구 Helm

3 예시[ | ]

간단한 Deployment와 Service에 적용:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: myservice
    app.kubernetes.io/instance: myservice-abcxyz

웹 애플리케이션과 데이터베이스 조합 (WordPress + MySQL):

apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app.kubernetes.io/name: mysql
    app.kubernetes.io/instance: mysql-abcxyz
    app.kubernetes.io/version: "5.7.21"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: database
    app.kubernetes.io/part-of: wordpress

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}