Kubernetes의 Lable 레이블 구성 with AKS

혹시·2024년 10월 30일

K8S

목록 보기
10/11

Kubernetes에서 레이블은 Pods, Services, Deployments를 구분하고 그룹화하는데 사용한다, 흔히는 레이블을 통해 개발, 테스트, 프로덕션을 구분할 수 있으며 버전 관리에도 사용된다. 그룹화하는데 사용되므로 서비스마다 묶거나 업데이트가 필요한 Pods를 구분할 수 있다.

kubectl label의 경우 deployment의 레이블만 변경 가능하며 deployment가 생성하는 개체(pod, replicaset)은 영향을 주지 않는다.

아래는 Deployments를 배포하여 레이블을 달아보고 확인해보았다.

kubectl create deployment alpaca-prod --image=gcr.io/kuar-demo/kuard-amd64:1 --replicas=2


이미 만들어진 개체의 경우 --overwrite를 이용해서 수정합니다.
할당된 레이블을 확인하기 위해 --show-labels를 이용합니다.

kubectl label deployment alpaca-prod ver=1 app=alpaca env=prod --overwrite
kubectl get deployments --show-labels

--label-columns의 약자이며 "env"와 맞는 값을 찾아준다.
--selector 은 레이블을 기준으로 필터링 가능하다.

 kubectl get deployments -L env
 kubectl get pods --selector="ver2"

레이블 삭제

kubectl label deployments alpaca-prod "env-"

yaml로 확인 또는 작성이 가능한데, deployment의 경우는 아래와 같이 확인 가능하다.

selector:
	matchLabels:
    	app: alpaca

AKS에선 예약된 시스템 레이블이 있어 여기에 포함되는 레이블은 변경이 가능하지 않다. (일부 발췌)

https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
https://learn.microsoft.com/ko-kr/azure/aks/use-labels

profile
클라우드하는 귀여운 애

0개의 댓글