Docker & Kubernetes

쿠버네티스 파드 실행

beekei 2021. 12. 1. 15:38
반응형

윈도우를 사용한다면 전 블로그글을 확인하고 실행 환경을 구축해야한다. 

파드 실행

kubectl run 명령어를 입력하고 결과가 표시될 때까지의 흐름은 다음과 같으며 도커 명령어와 비슷하다.

  1. kubectl이 쿠버네티스에게 명령을 전달한다.
  2. 노드에 이미지가 없으면 원격 리포지터리(Docker Hub)에서 다운로드 한다.
  3. 노드의 containerd가 컨테이너를 실행한다.
  4. kubectl이 터미널에 메시지를 표시한다.

쿠버네티스의 특징 중 하나는 개인의 PC, 퍼플릭 클라우드, 온프레미스의 모든 환경에서 동인할 kubectl 명령어로 조작할 수 있다는 점이다. 따라서, 미니쿠베를 잘 익혀두면 5,000대 규모의 클러스터(버전 1.11 기준)도 다룰 수 있다.

 

 

 

파드는 쿠버네티스에서 컨테이너를 실행하는 최소 단위이다.

hello-world 컨테이너를 실행해보자.

kubectl run hello-world --image=hello-world -it --restart=Never를 실행한다.

kubectl hello-world 컨테이너 실행
파드 목록 출력

여기서 kubectl run hello-world --image=hello-world -it --restart=Never 명령어를 하나하나 살펴보자

  • kubectl : 쿠버네티스 클러스터를 조작하기 위해 사용되는 커맨드
  • run : 컨테이너 실행을 명령하는 서브 커맨드
  • hello-world : 쿠버네티스 오브젝트의 이름(파드나 컨트롤러 등)
  • --image=hello-world : 컨테이너의 이미지, 쿠버네티스에서는 파드 단위로 컨테이너가 기동되며 리포지터리명이 생략된 경우에는 도커 허브를 사용
  • -it : 도커에서의 -it와 같음 _참고
  • --restart=Never : 파드의 기동 방법, Never는 직접 파드가 기동되며 Always나 OnFailure은 컨트롤러를 통해 파드가 기동

다시한번 똑같은 이름의 파드를 실행해보겠다.

파드 hello-world가 이미 존재한다고 에러가 표시되고 있다.

파드를 삭제 하려면 kubectl delete pod 파드명으로 삭제할 수 있다.

파드 삭제

 

docker run에서 --rm이란 옵션을 지정하면 실행 후 종료된 컨테이너를 자동으로 지워주는것처럼 kubectl run에서도 마찬가지로 --rm옵션을 사용할 수 있다.

kubectl run hello-world --image=hello-world -it --restart=Never 뒤에 --rm만 붙혀주면 된다.

실행 후 정상적으로 삭제되었다.

 

이번에는 백그라운드로 실행하는 방법과 로그를 출력해보겠다.

백그라운드에서 파드 실행
로그 출력

반응형