728x90
Github를 Helm Chart Repository로 사용하는 방법을 설명하기에 앞서, Helm의 기본적인 개념에 대한 설명이 필요하다면 여기를 참조하면 된다. [Kubernetes] Helm이란? Helm의 개요와 사용법📌Index Helm이란? Helm 설치하기 Helm 사용법 Helm 실습 ✔️ Helm이란? Helm이란, Kubernetes 패키지 관리를 도와주는 것(패키지매니저)으로, yaml 파일의 모음이라고 할 수 있다. Helm에 대한 많은 문서나 책nayoungs.tistory.comHelm Chart Repository(저장소)를 서비스(호스팅)하는 방법에는 클라우드 스토리지, JFrog 아티팩토리, 일반 웹 서버 등 여러가지가 있지만, 본 글에서는 Github를 차트 저장소로 사..
Singleton Service Pattern이란?SW 개발에 사용되는 생성 패턴 중 하나로, 한 번에 하나의 애플리케이션 인스턴스만 실행한다.예시) 메세지 대기열의 메세지를 순차적으로 소비해야하는 웹 애플리케이션은 한 번에 둘 이상의 인스턴스를 실행하지 않아야한다. 쿠버네티스에서는 외부 잠금과 내부 잠금을 통해 2가지 레벨로 구현할 수 있다.문제점쿠버네티스의 주요 기능은 다중 인스턴스를 실행해서 시스템의 처리량과 가용성을 높이는 것Deployment, ReplicaSet과 같은 리소스로는 싱글톤 서비스를 사용하는 데 어려움이 있음동시에 하나의 서비스 인스턴스만 실행되어야하는 경우가 있음애플리케이션 외부 잠금(비 인식)애플리케이션 외부의 관리 프로세스를 사용하여, 오직 애플리케이션 하나의 인스턴스만 실행..
📌Index Cluster AutoScaling 수동 스케일링 자동 스케일링 CloudWatch Container Insight ✔️ Cluster AutoScaling Kubernetes의 Cluster Autoscaling Kubernetes는 Cluster AutoScaler를 통해 동적으로 인프라를 확장할 수 있다. Kubernetes Cluster Autoscaler는 Pod가 실패하거나 다른 노드로 다시 예약될 때 클러스터의 노드 수를 자동으로 조정하며, Pod의 리소스 요청에 따라 클러스터의 노드를 추가하거나 제거한다. 만약 리소스 부족으로 인해 스케줄링 대기 상태(Pending)의 Pod가 존재하는 경우 Cluster AutoScaler가 노드를 추가한다. 추가 시, 설정한 Min, Max..
📌Index Metrics-Server란? Metrics-Server 설치하기 ✔️ Metrics-Server란? 쿠버네티스의 Metrics-Server는 각 노드에 설치된 kubelet을 통해 node 및 pod의 CPU, Memory의 사용량 Metric을 수집한다. 과거에는 Heapster를 사용했으나, 더 이상 개발되고 있지 않기 때문에(지원 중단) 이를 대체하는 Metrics-Server를 사용한다. Metrics-Server가 있어야 kubectl top 명령어를 사용하여 CPU/메모리 사용량 등을 확인할 수 있으며, HPA(Horizontal Pod Autoscaler) 및 VPA(Vertical Pod Autoscaler)을 사용할 수 있다. ✔️ Metrics-Server 설치하기 다음 ..
📌Index EFK란? EFK 설치하기 EFK 세팅하기 ✔️ EFK란? EFK stack은 Elasticsearch, Fluent bit(Fluentd), Kibana 3개의 플랫폼 조합을 뜻하며, 클러스터 환경에서 로그의 수집, 검색, 시각화를 가능하게 한다. 그림을 보면 알 수 있듯이, 각 클러스터에 fluent bit가 daemonset으로 log를 수집한다. elasticsearch는 fluent bit가 수집한 로그를 저장하며, 요청에 따라 검색을 한다. 마지막으로 유저가 용이하게 사용할 수 있도록 kibana로 시각화 한다. FluentBit Log는 /var/log(시스템 로그)또는 /var/log/container(파드 로그) 또는 /var/log/pods(파드 로그)에 저장된다. (이때 ..