Labels and Selectors

zuckerfrei·2023년 6월 25일
0

Kubernetes

목록 보기
19/63

객체를 그룹화해서 관리/사용하기 위한 방법

k8s에는 수많은 객체가 존재한다. 이 객체를 여러 기준에 따라 필터링하고 그룹화할 수 있어야 한다.
이것을 위해 가장 좋은 방법은 라벨을 사용하는 것이다.

label

각 객체에 부여된 속성

ex)
class : mammal
color : green
type : frontend

selector

라벨을 필터링 할 때 사용
selector로 지정하는 라벨을 가진 객체를 선택한다는 의미

인스타그램, 유튜브에서 해시태그 (#cat) 를 사용하여 원하는 컨텐츠를 필터링하는 것과 유사

예시

아래의 레플리카셋 예시 외에도 다른 모든 객체에서 셀렉터와 라벨은 동일한 역할을 한다. 원하는 타겟 객체를 찾기 위해 사용된다.

replicaset-definition.yml

apiVersion: apps/v1
kind: ReplicaSet

metadata:
  name: simple-webapp
  labels:
    app: App1  ---------> replicaset 자체의 label
    function: Front-end
  annotations:
    buildversions: 1.34

spec:
  relicas: 3
  selector:
    matchLabels:
      app: App1  ================> 이 레플리카셋이 원하는 pod를 찾기 위한 selector

  template:
    metadata:
      labels:
        app: App1  ==============> 타겟 pod의 label
        function: Front-end
    spec:
      containers:
      - name: simple-webapp
      image: simple-webapp

annotation

label과 selector는 원하는 객체를 선택하기 위해 사용되지만,
이 annotation은 말 그대로 세부 사항을 기록하기 위해 사용된다.

이름, 버전, 빌드 정보, 연락처 등등

profile
무설탕 음료를 좋아합니다

0개의 댓글