라벨

2023. 10. 27. 12:10k8s

라벨

 모든 리소스를 구성하는 매우 간단하면서도 강력한 쿠버네티스 기능
 리소스에 첨부하는 임의의 키/값 쌍(예 app: test)
라벨 셀렉터를 사용하면 각종 리소스를 필터링하여 선택할 수 있음
 리소스는 한 개 이상의 라벨을 가질 수 있음 [여러 개의 라벨을 가질 수 있다]
 리소스를 만드는 시점에 라벨을 첨부
 기존 리소스에도 라벨의 값을 수정 및 추가 가능
 모든 사람이 쉽게 이해할 수 있는 체계적인 시스템을 구축 가능
 app: 애플리케이션 구성요소, 마이크로서비스 유형 지정
 rel: 애플리케이션의 버전 지정
많은 리소스들을 만들고 나서, 생성된 리소스를 쿠베가 인식하기 위한 바코드(라벨) 같은 것. 붙여진 바코드를 가지고 검색(셀렉터)를 할 수 있다 

 

세로 : app 이고 가로는 release [안정버전-고객제공,베타버전,개발자(배포방식)버전]
app=ui [user interface 구성 부분]
app=as [account service pod가 있다]
app=pc [product catalog pod가 있다. 물건 카탈로그 정리 pod이니까 검색할 수 있는 서비스]
app=sc [shopping cart pod. 쇼핑카트=장바구니 
app=os [order service pod]
원하는 것만 사용할 수 있도록 label로 묶어두었다

 

 

참고 사이트

https://livebook.manning.com/book/kubernetes-in-action/chapter-3/177

 

Chapter 3. Pods: running containers in Kubernetes · Kubernetes in Action

Creating, running, and stopping pods · Organizing pods and other resources with labels · Performing an operation on all pods with a specific label · Using namespaces to split pods into non-overlapping groups · Scheduling pods onto specific types of wor

livebook.manning.com

 

 

실습

http-go-v1.yml 생성

apiVersion: v1
kind: Pod
metadata:
  name: http-go
  labels:
    creation_method: manual
    env: prod
spec:
  containers:
  - name: http-go
    image: myoungseok/http-go
    ports:
    - containerPort: 80

 

http-go-v2.yml 생성

apiVersion: v1
kind: Pod
metadata:
  name: http-go-v2
  labels:
    creation_method: manual
spec:
  containers:
  - name: http-go
    image: myoungseok/http-go
    ports:
    - containerPort: 80

 

kubectl get pod --show-labels

라벨 확인

 

kubectl get pod -l env

라벨 env만 표시

 

kubectl get pod -l '!env'

라벨에 env가 아닌 것만 표시

 

kubectl get pod -l 'env=prod,creation_method=manual'

라벨이 env=prod,creation_method=manual 인 것 표시

 

kubectl get pod -L env

라벨 env와 빈 라벨 모두 표시

 

kubectl get pod -L creation_method

라벨 creation_method 표시

 

kubectl label pod http-go customID=vip

라벨 붙이기

 

kubectl label pod http-go customID=jinsang --overwrite

라벨 수정

 

kubectl label pod http-go customID-

라벨 제거

'k8s' 카테고리의 다른 글

ReplicaSet  (0) 2023.10.30
라벨 실습  (0) 2023.10.27
liveness probe 실습  (0) 2023.10.27
hostpath  (0) 2023.10.27
empty-dir  (0) 2023.10.27