쿠버네티스에서 레이블(Label)은 사용자가 오브젝트를 식별하기 위해 부착하는 키-값 쌍입니다. 레이블을 사용하면 사용자가 자신의 리소스를 구성하고 관리하는 데 유용한 방식으로 오브젝트를 선택하고 조직화할 수 있습니다.
다음은 myapp-pod-label
이라는 이름의 Pod를 생성하는 myapp-pod-label.yaml
파일입니다. 이 Pod에는 env: dev
와 tier: frontend
라는 두 개의 레이블이 부착되어 있습니다.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod-label
labels:
env: dev
tier: frontend
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
protocol: TCP
레이블을 사용하여 Pod를 선택하고 관리하는 방법은 다음과 같습니다:
모든 Pod의 레이블을 표시하려면 다음 명령어를 사용합니다:
kubectl get pods --show-labels
env=dev
레이블이 있는 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -l env=dev
env=dev
및tier=frontend
레이블이 모두 있는 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -l env=dev,tier=frontend
env=dev
레이블이 있고tier=backend
레이블이 없는 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -l env=dev,tier!=backend
env
레이블이 있는 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -l env
env
레이블의 값이dev
또는prod
인 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -l 'env in (dev,prod)'
tier=control-plane
및component=kube-apiserver
레이블이 모두 있는 모든 Pod를 선택하려면 다음 명령어를 사용합니다:kubectl get pods -A -l tier=control-plane,component=kube-apiserver
레이블을 추가하거나 변경하려면 kubectl label
명령어를 사용합니다:
Pod에 새 레이블을 추가하려면 다음 명령어를 사용합니다:
kubectl label pod myapp-pod-label version=0.1
Pod의 레이블을 변경하려면
--overwrite
플래그를 사용합니다:kubectl label pod myapp-pod-label version=0.2 --overwrite
Pod의 레이블을 제거하려면 레이블 이름 뒤에
-
를 붙입니다:kubectl label pod myapp-pod-label version-
이렇게 레이블을 사용하면 쿠버네티스 리소스를 효과적으로 선택하고 관리할 수 있습니다.
'Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 01-04 Pod_Namespace (0) | 2023.09.06 |
---|---|
쿠버네티스 01-03 Pod_annotation (0) | 2023.09.06 |
쿠버네티스 01-01 Pod (0) | 2023.09.06 |
containerd, kubernetes 설치하기 feat. Arm , Troubleshooting (0) | 2023.09.05 |
Helm 설치 및 사용 (0) | 2023.09.05 |