JINIers
레이블과 셀렉터 본문
레이블
- 리소스에 첨부하는 임의의 키 값 쌍 ((ex) app:test, rel:beta)
- 레이블 셀렉터를 사용하면 각종 리소스를 필터링하여 선택할 수 있음
- 리소스: 한개 이상의 레이블을 가질 수 있음
- 리소스 만드는 시점에 레이블을 첨부한다.
- 기존 리소스에 레이블 값 수정&추가 가능
pod 레이블 확인
pod 생성
# http-go-v2.yaml
apiVersion: v1
kind: Pod
metadata:
name: http-go
labels:
creation_method: manual
evn: prod
spec:
containers:
- name: http-go
image: ______/http-go
ports:
- containerPort: 8080
protocol: TCP
kubectl create -f http-go-v2.yaml
label 보기
kubectl get pod --show-labels
레이블명으로 보기
kubectl get pod -L [key값]
# example 1.
kubectl get pod -L env
NAME READY STATUS RESTARTS AGE ENV
http-go 1/1 Running 0 113m
http-go-v3 1/1 Running 0 3m55s
# example 2.
kubectl get pod -L creation_method
NAME READY STATUS RESTARTS AGE CREATION_METHOD
http-go 1/1 Running 0 115m manual
http-go-v3 1/1 Running 0 6m9s manual-v3
레이블 추가
kubectl label pod [pod_name] [label_name=key]
# example
kubectl label pod http-go ming=9
레이블 변경
kubectl label pod [pod_name] [label_name=key] --overwrite
# example
kubectl label pod http-go ming=97 --overwrite
레이블 삭제
kubectl label pod [pod_name] [key값]-
kubectl label pod http-go ming-
레이블 필터링
kubectl get pod -l env
원하는 레이블명을 입력하면 해당된 파드를 볼 수 있따.
키값을 입력하면 보이지않는다.
키값 없는거 필터링
kubectl get pod -l '!env'
* 반대의 결과를 얻고싶으면 '![키값]'
레이블 세부필터링
# 레이블명으로 필터링
kubectl get pod -l 'creation_method=manual'
kubectl get pod -l 'creation_method=manual-v3'
# 다중 레이블명으로 필터링
kubectl get pod -l 'creation_method=manual,env=prod'
레이블&셀렉터 연습문제 바로가기
'공부 > Docker&K8S' 카테고리의 다른 글
레이블&셀렉터 연습 (0) | 2023.02.21 |
---|---|
liveness pod (0) | 2023.02.20 |
Probes(Liveness, Readiness, Startup) (0) | 2023.02.20 |
pod 연습 (0) | 2023.02.20 |
POD (0) | 2023.02.17 |
Comments