2023. 10. 27. 12:10ㆍk8s
라벨
모든 리소스를 구성하는 매우 간단하면서도 강력한 쿠버네티스 기능
리소스에 첨부하는 임의의 키/값 쌍(예 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
kubectl get pod -l '!env'
kubectl get pod -l 'env=prod,creation_method=manual'
kubectl get pod -L env
kubectl get pod -L 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 |