아이엠 !나이롱맨😎
article thumbnail
반응형

 

 

이 글은 쿠버네티스 공부한 흔적을 남기기 위한 글입니다.

 

오브젝트를 생성할 때 명령어만으론 한계가 있어 yaml에 스펙을 작성 후 생성합니다.

 

작성한 yaml 파일 기준으로 run, create, apply로 오브젝트를 생성하는데 create, apply을 주로 사용합니다.

 

run과 create 비교

run은 파드 1개만 생성하고 관리해줍니다.

create는 그룹 내 파드 1개를 생성하고 관리해줍니다.

 

run으로 생성한 파드는 초코파이1개이고, create로 생성한 파드는 초코파이 박스 안에 있는 초코파이1개입니다.

 


create과 apply 비교

오브젝트가 디플로이먼트 일 경우 replicas 를 지정해주어서 파드의 갯수를 보장받을 수 있습니다.

 

만약 create를 이용하여 디플로이먼트 생성했을 경우 yaml 파일에서 replicas를 3개로 지정해주었다면 디플로이먼트의 갯수는 3개로 보장됩니다. 하지만 만약 더 추가하고 싶어서 yaml에서 replicas가 3개였던 걸을 6개로 늘려주었습니다. 

 

이후 create를 이용하여 다시 디플로이먼트로 생성해주먼 에러가 발생합니다. 이미 디플로이먼트가 존재하는 에러가 발생하죠.

 

이렇듯 create로 디플로이먼트를 생성하게 된다면 추후 수정이 불가능합니다. 

 

반면에, replicas를 6개로 바꿔준 후 apply 명령어를 통해 디플로이먼트를 생성해준다면 파드의 일관성 문제로 경고가 뜨긴 하지만 6개의 파드가 생성된걸 확인할 수 있습니다.

 

이렇듯 apply는 추후 오브젝트의 수정이 가능하고 create는 수정이 불가능합니다. 따라서 변경 가능성이 있는 복잡한 오브젝트는 yaml 파일로 스펙을 작성한 후 apply로 오브젝트를 생성하는 것이 좋습니다.


 

구분 Run Create Apply
명령 실행 제한적임 가능함 안됨
파일 실행 안됨 가능함 가능함
변경 가능 안됨 안됨 가능함
실행 편의성 매우 좋음 매우 좋음 좋음
기능 유지 제한적임 지원됨 다양하게 지원됨

 

반응형

article prev thumbnail
article next thumbnail
profile on loading

Loading...