본문 바로가기
책 정리/15단계로 배우는 도커와 쿠버네티스

6. 쿠버네티스 첫걸음

by 이석준석이 2021. 8. 21.


1. kubectl run 커맨드

 

아래의 명령어는 무엇을 뜻하는가?

  • kubectl run hello-world --image=hello-world -it --restart=Never
명령어 설명
kubectl 쿠버네티스에 명령을 전달한다.
run 컨테이너 실행을 명령한다.
hello-world 쿠버네티스 오브젝트(Pod, Controller, Service 등의 인스턴스) 의 이름을 명시한다. 
--image=hello-world 컨테이너의 이미지를 명시한다.
-it 도커의 -it 와 같다.
--restart=Never 옵션에 따라 파드의 기동방법이 달라진다.
(여기서의 옵션은 Never로써, 직접 파드를 기동한다.)

2. 컨트롤러에 의한 파드실행 (디플로이먼트 컨트롤러)

 

디플로이먼트 생성

  • kubectl create deployment [디플로이먼트명] --image=[사용할 이미지] [옵션]
    • 예) kubectl create deployment nginx-deployment --image=nginx --replicas=5

디플로이먼트 삭제

  • kubectl delete deployment [디플로이먼트명]

디플로이먼트 컨트롤러의 목적

  • 웹 서버 / 앱 서버처럼 계속 기동되어야 할 때 사용한다.
  • 관리중인 파드가 종료되면, 지정된 파드의 개수를 맞추기위해서 새로운 파드를 생성하여 기동한다.
    • 새로운 파드를 생성하여 기동하므로, stateless 한 컨테이너 어플리케이션이어야 한다.

3. 컨트롤러에 의한 파드실행 (잡 컨트롤러)

 

잡 생성

  • kubectl create job [잡 이름] --image=[사용할 이미지] [옵션]
    • 예) kubectl create job hello-world-job --image=hello-world -- /bin/bash -c "exit 0"

잡 삭제

  • kubectl delete job [잡 이름]

잡 컨트롤러의 목적

  • 비정상 종료하면 재시작한다.
  • 정상 종료할 때까지 지정한 횟수만큼 재실행한다.
  • 컨테이너의 프로세스 종료 값으로 성공과 실패를 판정한다.
  • 배치작업에 사용하면 유용하다.