run create 차이
774
작성한 질문수 1
[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[질문 하기]
안녕하세요.
pod 는 실행할 때 run 을 사용하는데 deployment 는 create 를 사용합니다. 왜 굳이 다른 커맨드를 만들어 사용하는지 궁금합니다.
답변 1
0
안녕하세요
쿠버네티스가 발전한 역사와 좀 관련이 있는데요.
예전에 run이 다음과 같은 형태로도 수행이 가능했습니다.
kubectl run --generator=deployment/apps.v1
< 덜 찾아보고 적는 그럴듯한 이유 >
정확하게는 git issue 및 PR 히스토리를 다 찾아봐야 하는데, 대략적으로 추정으로 적어본다면
처음에 run이 만들어지고 이를 통해 더 쉽게 다른 오브젝트들을 배포하도록 위와 같은 --generator 옵션을 추가하면서 만들어졌는데, 추후에 많은 오브젝트들이 포함되면서 이를 generator라는 옵션으로 만들고 바로 실행한다는 의미와 부합하지 않아 create라는 수행어(동사)를 만들었고, 이 부분이 결국 run에서 가지고 있는 generator 옵션과 중복이 되면서 run에 있는 옵션을 deprecated한 것으로 보여집니다.
<---->
그런데 현재는 run은 그와 같은 형태의 수행은 불가능하고 pod만 생성하도록 변경되었으며, 이에 따라 run은 간단히 pod만 생성해서 테스트하는 곳에서 사용하고 있습니다.
그에 반해 create는 pod를 포함하고 있는 deployment 뿐만 아니라 다양한 오브젝트를 생성할 수 있습니다.
그래서 공식적으로 이렇게 구분하지 않지만, (run의 기능들이 deprecated되어서) run을 포함해서는 이렇게 볼 수도 있습니다.
Using Generators (Run, Expose)
Using Imperative way (Create)
Using Declarative way (Apply)
Run은 위와 같은 이유로 생성자(Generators)로 구분을 잘 하지 않고 Create와 Apply는 구분을 할 필요가 있기 때문에 명령적인 그리고 선언적인 방법으로 구분합니다. 그러한 이유로 지금은 Run과 Expose를 생성자 영역보다 명령적인 방법으로 포함시킬 수 있습니다.
이와 관련하여 다음의 영상을 보시면 더 이해에 도움이 되실 것 같습니다.
감사합니다.
조훈 드림.
0
Generator와 관련해서 이것도 보시면 좋으실 것 같습니다.
이 내용을 보시면 2016년부터 decoupling 하는 것이 시작된거 같습니다.
섹션2. 1.5쿠버네티스_컨트롤플레인_노드와_워커_노드_그리고 kubeadm으로 쿠버네티스 직접 구성하기-v1.30 오류
0
38
2
[해결] 2.4. tabby config.yaml 파일 복사 실패 시
1
93
0
9.3 Error 발생 유도 테스트 확인 부탁드립니다.
0
95
2
livenessProbe 어플리케이션 재시작 의미
0
67
2
K8S 노들에 접근이 안됩니다.
0
167
6
arm virtualBox의 vagrant up 에러
0
113
2
추후 강의계획 질문
0
149
1
MAC 에서 사용할 수 있는 ova 파일은 없나요?
0
219
2
7.8. w3-affinity-leader 적용 에러 문제 질문드립니다.
0
211
5
커리큘럼 순서 문의
0
206
2
apply 실행 후 pod상태가 ContainerCreating 에서 변경이 안됩니다.
0
371
2
livenessProbe에 대한 설명이 조금 부족한거 같네요
0
217
3
controlplane_node.sh 실행 오류 문의
0
242
2
예제폴더의 경로와 영상의 경로가 너무나도 다릅니다
0
218
2
9.6강의 소스 수정 요청 및 에러 문의
0
165
2
8.6 강의 중 sysnet4admin/chk-info 이미지 bash 이슈
0
161
3
드디어 맥에서도 virtualbox가 지원 됩니다.
0
282
2
8.3강의 set-ctx-pod-admin.sh 수정 요청
0
120
3
7.5 강의 tardy-nginx 이미지 문제
0
3312
3
ch1. controlplan_node.sh 실행 시 에러가 뜹니다
0
305
3
Kubenetes 클러스터에 추가적으로 신뢰하는 CA를 넣을 수 있나요?
0
183
1
clusterrolebinding의 --namespace 옵션의 역할
0
164
2
A.0003 파일 vagrant file 수정 (자문자답)
0
167
2
nfs-client-provisioner 관련 생성 오류 질문
0
190
1





