작성
·
171
1
안녕하세요 강의 잘 듣고 있습니다.
Pod 강의를 듣는 중 궁금점을 정리하여 질문드립니다.
1. echo -- sh 의미
파드 접근 명령어 kubectl exec -it echo -- sh
명령에서
echo -- sh
가 어떤 의미를 내포하는지 감이 잘 오지 않습니다.
어떻게 이해하면 좋을지 도움 주시면 감사하겠습니다.
2. kubectl create vs kubectl apply
pod를 생성하는 명령어중 create 와 apply 명령어가 있는 것으로 알고 있습니다.
이 둘의 차이점이 궁금하여 인터넷을 검색 결과 아래와 같이 이해하였습니다.
- kubectl create
= 명령형(Imperative) = 구성파일 내 완전하게 정의되고 기록되어질 경우 동작 & object가 이미 존재할 경우 Error 발생
- kubectl apply
= 선언형(Declarative) = 부분적인 spec만 주어져도 업데이트 가능 & object가 존재하지 않을 경우 새로운 object 생성
찾아본 내용 결과로서 Pod를 정의하는 YAML을 생성 후, Pod 생성시 kubectl apply
대신 kubectl create
명령어를 사용할 이유를 잘 모르겠습니다.
kubectl create
는 어떤 case 때 사용이 되는지 알고 싶습니다.
답변 1
0
안녕하세요! 문의하신 내용 답변 드립니다.
1. kubectl exec 명령어
exec 명령어에서 사용하는 값의 의미는 다음과 같습니다.
kubectl exec -it [pod의 name] -- [컨테이너에 실행할 명령어]
따라서, kubectl exec -it echo -- sh 의 의미는 echo라는 이름의 pod에 명령을 하는데 명령어는 sh이라는 뜻입니다. 여러개의 pod중에 특정 pod의 상태를 확인할 때 kubectl exec -it [pod 이름] -- sh 명령어를 자주 사용합니다.
2. create와 apply의 차이
차이점은 이해하신 내용이 맞고, create를 사용하는 case는.. 실무에서 한번도 써본적이 없고 곰곰히 생각해봤지만 특별히 apply대신 create를 사용하는 경우는 없는 것 같습니다.
사용하는 case는 쿠버네티스를 실제 관리하시는분들께 한번 문의해보고 다시 답변 드리도록 하겠습니다.
감사합니다!