6장. 레이블 및 주석
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
애플리케이션의 규모와 복잡성이 확장됨에 따라 사용자와 함께 성장하도록 만들어진 것이 바로 Kubernetes입니다. 레이블과 어노테이션은 애플리케이션에 대해 생각하는 방식에 매핑되는 일련의 작업으로 작업할 수 있게 해주는 Kubernetes의 기본 개념입니다. 모든 리소스를 구성하고, 표시하고, 교차 색인하여 애플리케이션에 가장 적합한 그룹을 나타낼 수 있습니다.
레이블은 파드 및 레플리카셋과 같은 쿠버네티스 오브젝트에 첨부할 수 있는 키/값 쌍이다. 레이블은 임의적일 수 있으며 식별 정보를 Kubernetes 오브젝트에 첨부하는 데 유용하다. 레이블은 오브젝트를 그룹화하기 위한 기반을 제공한다.
반면에어노테이션은 레이블과 유사한 스토리지 메커니즘을 제공하는데, 이는 도구와 라이브러리가 활용할 수 있는 비식별 정보를 보유하도록 설계된 키/값 쌍이다. 레이블과 달리 어노테이션은 쿼리, 필터링 또는 다른 방식으로 파드를 서로 구별하기 위한 것이 아니다.
레이블
레이블은 개체에 대한 식별 메타데이터를 제공합니다. 이는 개체를 그룹화하고, 보고, 조작하는 데 사용되는 개체의 기본 특성입니다. 레이블에 대한 동기는 대규모의 복잡한 애플리케이션을 운영한 Google의 경험에서 비롯되었습니다. 이 경험에서 몇 가지 교훈을 얻었습니다:
-
프로덕션은 싱글톤을 싫어합니다. 소프트웨어를 배포할 때 사용자는 종종 단일 인스턴스로 시작합니다. 그러나 애플리케이션이 성숙해짐에 따라 이러한 싱글톤은 종종 증식하여 오브젝트 집합이 됩니다. 이를 염두에 두고 Kubernetes는 레이블을 사용하여 단일 인스턴스 대신 오브젝트 집합을 처리합니다.
-
시스템에 의해 부과된 계층 구조는 많은 사용자에게 부족할 수 있습니다. 또한 사용자 그룹과 계층 구조는 시간이 지남에 따라 변화합니다. 예를 들어, 사용자는 모든 앱이 여러 서비스로 구성되어 있다는 생각으로 시작할 수 있습니다. 그러나 시간이 지나면서 하나의 서비스가 여러 앱에서 공유될 수 있습니다. Kubernetes 레이블은 이러한 상황 등에 적응할 수 있을 만큼 유연합니다.
Google이 프로덕션시스템에 접근하는 방식에 대한 자세한 배경 지식은 Betsy Beyer 외(O'Reilly)의 훌륭한 사이트 안정성 책인 Site Reliability Engineering(사이트 안정성 엔지니어링 )을 참조하세요.
레이블의 구문은 간단합니다. 키와 값이 모두 문자열로 표시되는 키/값 쌍입니다. 레이블 키는 선택적 접두사와 슬래시로 구분되는 이름의 두 부분으로 나눌 수 있습니다. 접두사를 지정하는 경우 접두사는 253자 제한이 있는 DNS 하위 도메인이어야 합니다. 키 이름은 필수이며 최대 길이는 63자입니다. 또한 이름은 영숫자로 시작하고 영숫자로 끝나야 하며 문자 사이에 대시(-), 밑줄(_) 및 점(.)을 사용할 수 있습니다.
레이블 값은 최대 63자 길이의 ...