본문 바로가기

분류 전체보기114

[Kubernetes] Networking - Kube Proxy 이번 포스팅에서는 Kube Proxy에 대해 알아보려고 한다. kube-proxy그림 1. k8s Architecture 그림 1에서 다시금 k8s의 아키텍처를 들여다보면 각각의 Node에 Proxy가 존재하는 것을 확인 할 수 있다. 즉, Node는 kube-proxy(Proxy)를 실행하고 관리한다. 여기서 kube-proxy의 역할은 k8s Service에 클라이언트가 연결할 수 있도록 한다. (클라이언트가 Service에 묶인 Pod에 연결 할 수 있도록)k8s에서 제공하는 kube-proxy 모드는 3가지가 존재하는데 베타 버전(현재 v1.9이 베타)을 제외한 나머지 모드는 아래와 같다.- Userspace mode그림 2. Userspace Mode 그림 2에서 Userspace Mode 방식.. 2019. 4. 26.
[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.