728x90
쿠버네티스 Labels
Lable과 Selector
- 누군가가 Select 할 수 있게 하기 위해 만듦
- Kubernetes가 운영되는 기준
Label
- Node를 포함하여 Pod, Deployment 등 모든 리소스에 할당
- 리소스의 특성을 분류하고, Selector를 이용해서 선택
- Key-value 한 쌍으로 적용
- 63자 이하, 시작과 끝은 알파벳
labels:
[key]: [value]
Label Template
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: web
release: stable
spec:
container:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 8080
레이블 확인
kubectl get pods -L app
kubectl bdg pod nginx-pod --show-labels
레이블 추가
- version과 type 레이블 추가
kubectl label pod nginx-pod version=1.14 type=backend
레이블 수정
- type 레이블 내용 수정
kubectl label pod nginx-pod version=1.14 type=frontend --overwrite
레이블 삭제
- type 레이블 삭제
kubectl label pod/nginx-pod type-
레이블을 이용하여 특정 Pod 삭제
- label의 version이 1.14인 pod 삭제
kubectl delete pod -l version=1.14
Selector
- Label을 이용해 쿠버네티스 리소스를 필터링하고 원하는 리소스 집합을 구하기 위함
- Label을 이용해 쿠버네티스 리소스를 선택하는 방법 (Lable Query)
Annotation Node
Annotation
- Label과 동일하게 Key-value를 통해 리소스의 특성을 기록
- 쿠버네티스에게 특정 정보를 전달 할 용도로 사용 ex) Deployment의 Rolling Update 정보 기록
- 관리를 위해 필요한 정보를 기록 할 용도로 사용
- 릴리즈, 로깅, 모니터링에 필요한 정보들을 기록
Annotation Template
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
annotation:
builder: hyewon.jeong <jeonghy0517@kubernets.com>
spec:
container:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 8080
Node Labels & Selector
Node Label
- Worker Node가 할당된 Label을 이용해 Node를 선택
node에 레이블 부여
- disktype과 gpu 라벨 부여
kubectl lable node node1 disktype=ssd gpu=true
kubectl get nodes --show-labels
레이블에 ssd가 있는 node에서 pod 생성
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
nodeSelector:
disktype: ssd
container:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 8080
node lable 변경
- 레이블 disktype을 hhd로 변경
kubectl label node node1 disktype=hhd --overwrite
node label 삭제
- gpu 레이블 삭제
kubectl label node node1 gpu-
반응형
'🐳 Container > K8S' 카테고리의 다른 글
[K8s] 쿠버네티스(Kubernetes) 컨트롤러 (2) (0) | 2023.03.28 |
---|---|
[K8s] 쿠버네티스(Kubernetes) 컨트롤러 (1) (0) | 2023.03.27 |
[K8s] 쿠버네티스(Kubernetes) pod 관리 (0) | 2023.03.26 |
[K8s] 쿠버네티스(Kubernetes) node 관리 (0) | 2023.03.26 |
[K8s] 쿠버네티스(Kubernetes) 설치 (Ubuntu 22.04 환경) (1) | 2023.03.23 |