본문 바로가기

IT105

[Kubernetes] Liveness & Readiness Probe 이번 포스팅에서는 Pod의 Liveness Probe와 Readiness Probe에 대해 알아보겠다. Liveness ProbeLiveness Probe는 Pod 내의 Container가 살아있는지 죽어있는지 확인 하기 위한 k8s의 방안이다. Pod에 대해 생각해보면, Node에서 실행되는 Pod는 Node의 Kubelet에 의해 정상적으로 수행된다. 즉, Pod가 종료되거나 내부 Container에서 크리티컬한 문제가 생겨 작업이 중단되면 Node의 Kubelet에 의해 다시 실행된다. 그런데 내부 스케줄링에 의해 잘 동작하지만 문제는 Container에서 DeadLock과 같은 무한 대기 상태가 벌어졌을 때는 아무도 알 수 없다는 것이다. (Crash 같은 경우는 프로세스가 강제로 종료되기 때문에.. 2019. 4. 26.
[Kubernetes] Storage - StorageClass Storage를 계속 이어나가 이번 포스팅에서는 StorageClass에 대해 알아보려고 한다. StorageClass기존에는 관리자가 PersistentVolume을 개발자(사용자)로 부터 요청을 받을 때마다 생성을 해 주었다. 그런데 k8s에서는 이 작업을 StorageClass를 통해 자동으로 수행 할 수 있다. 즉, 관리자는 PersistentVolume을 여러 개 만드는 대신 Profile(또는 MetaClass)과도 같은 Storage Object을 정의하여 사용자로 하여금 Storage Object를 사용하게 하는 것이다.그림 1. StorageClass 글로만 이해하기 어려우니 그림 1을 확인해보자. 개발자가 PersistentVolumeClaim을 생성할 때 이전에는 직접적으로 Persi.. 2019. 4. 21.
[Kubernetes] Storage - PersistentVolume 이전 포스팅에서는 Volume의 emptyDir과 hostPath에 대해 알아보았다.(https://timewizhan.tistory.com/entry/Kubernetes-Volume?category=1035066) 그리고 이번 포스팅은 지난 번을 이어서 PersistentVolume에 대해 알아보려고 한다. PersistentVolume (PV)PersistentVolume은 기존에 알아보았던 Volume과는 개념적으로 조금 다르다. (물론 이름이 Persistent 이기 때문에 영구적이라고 생각할 수 있겠지만 일반적인 Volume* 타입에서도 영구적으로 Volume을 만들 수 있다.)* 매니페스트 파일에서 kind가 PersistentVolume 타입이 아닌 것일반적인 Volume은 Volume을 생.. 2019. 4. 21.
[Kubernetes] Storage - Volume 이번 포스팅에서는 k8s의 Volume에 대해 알아보려고 한다. VolumeVolume을 간단히 정의하면 Pod의 Container에서 접근하여 데이터를 저장할 수 있는 디렉토리이다. (참고로 Docker에서도 Volume을 디렉토리로 정의한다.)Container에서 접근한다는 의미를 좀 더 이해하기 쉽게 하기 위해 아래 그림을 참조한다.그림 1. Volume 그림 1을 확인해보면 Pod 내의 각 Container가 Volume을 참조하는 것을 확인 할 수 있다. (File Puller는 Volume에 Write, Web Server는 Volume을 Read)이렇듯 Volume이 존재하는 이유는 다음과 같다.1) Container 그 자체는 영구적인 리소스가 아니다.Container는 언제든 문제가 발생.. 2019. 4. 21.