쿠버네티스 파드 레이블 (Create vs Run) 차이

도람·2025년 11월 23일
post-thumbnail

파드 레이블

쿠버네티스에서 파드를 만들 때 kubectl create -f 와 kubectl run 은 기본적으로 다른 레이블을 붙인다.

  • create -f: YAML 안에 정의한 레이블 그대로 사용
  • run: 기본 레이블이 붙는데 run: <.pod-name> 형식으로 자동 생성된다.

create 로 생성하는 YAML

파일명 : pod-create.yaml

apiVersion: v1
kind: Pod
metadata:
  name: mypod-create
  labels:
    app: web
    tier: frontend
spec:
  containers:
    - name: nginx
      image: nginx:latest
  • 생성 명령 : kubectl create -f pod-create.yaml

위같이 create 로 파드를 생성할 경우,

다음과 같이, app= 하고 레이블이 생기는 것을 확인할 수 있다.


kubectl run 으로 생성하는 파드

kubectl run mypod-run --image=nginx

이렇게 위처럼 run으로 파드를 생성하게 되면,

이렇게 run= 하고 레이블이 붙는 것을 확인할 수 있다.


run 사용 시 레이블을 직접 지정하고 싶다면?

kubectl run mypod-run \
  --image=nginx \
  --labels="app=web,tier=frontend"

run 했을 때 레이블을 지정하고 싶으면 다음과 같이 lables = 하고, 설정하면 된다.


create vs run 레이블 비교

방식붙는 기본 레이블YAML에서 레이블 제어
kubectl create -f없음 (YAML에 있는 그대로)완전히 사용자가 결정
kubectl runrun: <pod-name>직접 지정하지 않으면 자동 레이블 생성

참고문서:
[쿠버네티스 공식 홈페이지 - Labels and Selectors]
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/?utm_source=chatgpt.com

profile
정도를 걷는 엔지니어

0개의 댓글