Controller

앞서 디플로이먼트 컨트롤러(Deployment Controller)에 의한 파드(Pod) 실행 예제에서 hello-world 컨테이너는 단발성 형태의 워크로드였다. 이에 적합한 쿠버네티스의 컨트롤러로 잡 컨트롤러(Job Controller)가 있다. kubectl 옵션으로 --restart=OnFailure를 지정하면 잡 컨트롤러의 제어하에 파드가 가동된다. 잡 컨트롤러는 파드가 비정상 종료하면 재시작하며 파드가 정상 종료될 때까지 지정한 횟수만큼 재실행한다. 디플로이먼트 컨트롤러를 만들 때와 마찬가지로 kubectl run 명령어 대신 kubectl create job 명령어를 사용해야 한다. 잡 컨트롤러는 컨테이너의 프로세스 종료 코드 값으로 성공과 실패를 판정하는데 , 그럼 job 2개를 생성해 하..
kubectl run에 옵션을 지정하면 파드를 디플로이먼트 컨트롤러 제어 하에 실행하는 것이 가능하다. 파드가 정지되었을 때 재기동시킬 필요가 있는지에 따라 옵션을 주면 된다. 이때 사용하는 옵션이 --restart=Always다. 반대로 파드만 독립적으로 실행하고 싶을 때는 --restart=Never 옵션을 주면 된다. --restart 옵션을 생략하면 기본값으로 Always로 실행된다. 즉 기본 적으로 디플로이먼트 컨트롤러에 의해 파드가 기동 된다. 디플로이먼트 컨트롤러 제어 하에 실행하는 방법은 아래와 같다. kubectl에 run은 서브 커맨드의 기능이 지나치게 방대해지는 것을 막기 위해 파드 자체를 만들 때만 run을 사용하고 디플로이먼트를 만들 때는 kubectl create deployme..
컨트롤러란? 컨트롤러는 파드를 제어한다. 파드에게 부여할 워크로드의 타입, 즉 처리에 따라서 적절한 컨트롤러를 선택해야 한다. 워크로드 타입 프런트엔드 처리 스마트폰, IoT기기, 컴퓨터 등의 클라이언트로부터 요청을 직접 받아들이는 워크로드를 총칭한다. 이 타입의 워크로드는 대량의 클라이언트 요청에 대해 짧은 시간에 응답을 반환하는 것이 중요하다. 실시간으로 반응해야 하고 사용자들이 답답합을 느껴선 안된다. IoT 기기로부터의 요청은 기기로 부터 끈임없이 만들어지는 데이터를 받아들여서 처리해야 한다. 이러한 워크로드 특성에 대응하기 위해서는 요청에 대응하는 처리를 복수의 파드에 분담하도록 설계해야 한다. 또한, 24시간 무정지로 서비스를 제공하면서도 빠르게 신기능을 배포할 수 있어야 한다. 백엔드 처리 ..
beekei
'Controller' 태그의 글 목록