본문 바로가기

POD5

4.4. DaemonSet 1. DaemonSet 소개 노드 레이블과 매칭이 되는 모든 노드 또는 노드 레이블이 없다면 모든 노드에 하나씩의 파드를 동작시키는 컨트롤러. 특정 노드에 파드를 배치되도록 하는 것. 노드가 추가되거나 노드의 레이블이 추가됐을 때 조건이 맞으면 실행★ 실행할 노드가 없으면 죽어버린다. 동일한 노드에 두개의 파드가 만들어지지 않는다. -> 하나에 하나만 만들어진다. 기능은 레플리케이션 컨트롤러와 레플리카셋과 비슷하지만, 복제본을 지정하지 않는다. 노드가 추가되면 자동으로 컨트롤러는 하나의 파드를 배치 노드가 제거되면 삭제된 파드를 다른 노드에 배치하지 않는다. -> 복제본 컨트롤러가 아니기 때문. 2. DaemonSet 생성 데몬셋 오브젝트의 API 버전 역시 apps 그룹의 v1 버전을 사용한다. # m.. 2020. 7. 29.
4.2. Replication Controller kubernetes의 컨트롤러는 파드를 올바르게 동작하기 위해 특정 상태를 보장하기 위한 기능이다. 특정 상태는 컨트롤러에 따라 동작하는 방식 및 정의하는 상태에 따라 다르다. 1. replication controller란? 파드가 특정 개수만큼이 복제되고 동작하는 것을 보장한다. 최신 버전에서는 잘 쓰지 않는다. label을 수정하면 label이 달라지기 때문에 복제본을 새로 만든다 -> 복제본이 하나 없어졌다고 판단하기 때문에 노드에 문제가 발생했거나 파드가 문제가 생겨 원하는 수의 파드가 동작하지 않는다면 자동으로 스케줄러에 의해 새로운 노드나 기존 노드에 다시 새로운 파드를 생성해 원하는 수의 파드를 복제해서 동작시킨다. 파드가 원하는 수보다 많은 경우에도 원하는 파드 수로 맞춘다. --> 불필.. 2020. 7. 24.
4.1. Liveness Probe 1. liveness probe 소개 라이브니스 프로브는 pod에 의해 컨테이너를 동작시키고, 동작하고 있는 컨테이너가 잘 동작하는지 주기적으로 모니터링한다. 만약 모니터링 도중 파드의 오류가 발생하면 해당 컨테이너를 재시작한다. 재시작을 했는데도 안된다 -> pod fail .spec.containers에서 지정. 컨테이너마다 지정 라이브니스 프로브는 세 가지 메커니즘을 가지고 컨테이너의 상태를 모니터링한다. HTTP GET probe 특정 경로에 HTTP GET 요청 HTTP 응답 코드가 2XX 또는 3XX인지 확인함 TCP socket probe 특정 TCP 포트 연결을 시도함 Exec probe 컨테이너 내부의 바이너리(명령)를 실행하고 종료 코드 확인 2. liveness probe 생성 ..... 2020. 7. 24.
Pod pod는 kubernetes의 기본 구성 요소이다. kubernetes cluster 내에서 애플리케이션을 배포하며 동작하는 프로세스이다. kubernetes의 object 모델 중에서 만들고 배포할 수 있는 가장 작은 단위이다. 하나 이상의 컨테이너가 들어갈 수 있다. -> 각각 다른 기능으로 동작해야한다. pod의 컨테이너는 같은 노드에서만 동작한다. 하나의 pod에 하나의 container가 생성되는게 일반적. IP는 pod에만 할당된다. 컨테이너들은 volume을 공유할 수 있다. 같은 pod의 컨테이너는 네트워크를 공유하고 볼륨도 공유할 수 있다. 1. pod 정의 pod를 생성할 수 있는 YAML 파일을 작성해보자 # myapp-pod.yml apiVersion: v1 kind: Pod met.. 2020. 7. 23.