분류 전체보기114 [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. [Kubernetes] Logging Logging은 시스템(또는 어플리케이션)에서 필수적이다. (Debugging 및 Monitoring 등등의 목적으로)일반 어플리케이션 환경처럼 Container 환경에서도 Logging이 사용되며 가장 일반적인 방식으로는 stdout, stderr과 같은 표준 입출력 스트림(Standard I/O Stream)을 활용하는 것이다. 하지만 해당 방식은 Container 환경에서는 부적절하다. 보통 Log가 컨테이너에 의존적이기 때문에 예를 들어 Pod, Node 등과 같은 Container 환경에 문제가 생겼을 때 Log에 접근하기가 쉽지 않다. (각 Container에 저장한 Log 파일이 손상되거나 사라질 수 있기 때문에)그래서 k8s에서는 Cluster Level Logging 방식을 취하고 있다... 2019. 4. 10. [Kubernetes] Monitoring k8s에서는 Container, Pod, Service와 같은 Cluster 내의 여러 리소스에 대해 Monitoring을 할 수 있다. 때문에 Monitoring 정보를 활용하여 각 리소스의 성능을 측정하고 Scale in-out을 할 수 있다. (+ 리소스 추가, 삭제 등)k8s에서는 Monitoring을 위한 여러 가지 솔루션이 존재한다. 그러나 이번 포스팅에서는 그 중 많이 사용하는 Heapster에 대해 알아보려고 한다. HeapsterHeapster는 k8s Cluster Monitoring 솔루션으로 Cluster의 모든 Node의 Metrics와 Events 정보를 수집한다. 그리고 Backend에 저장하여 Visualization을 제공한다. 그림 1. Heapster Architectu.. 2019. 4. 10. [Kubernetes] Job & CronJob 이번 포스팅에서는 k8s의 Job과 CronJob에 대해 알아보려고 한다. JobJob은 하나 이상의 Pod가 지정된 수의 Pod가 정상적으로 종료하는 것을 관리한다. 때문에 Job이 생성되는 시점에 같이 만들어지는 Pod에 문제가 발생했을 때 (Physical resource 및 Node 등) Pod가 정상적인 상태가 되도록 새롭게 다시 만든다. (내부 정책에 따라 Pod 생성 실패시 수행하는 작업이 다르다.)또한 Job은 생성된 Pod의 작업이 끝났음에도 Pod를 삭제하지 않아 해당 로그 및 결과 등을 분석할 수 있게 한다. apiVersion: batch/v1 kind: Job metadata: name: pi spec: template: spec: containers: - name: pi imag.. 2019. 4. 6. 이전 1 ··· 15 16 17 18 19 20 21 ··· 29 다음