전체 글
-
[Kubernetes] Kubernetes ObController란? Controller 간략하게 알아보기 (ReplicaSet, Deployment, StatefulSet, DaemonSet, job, CronJob)CI-CD/Kubernetes 2023. 1. 19. 20:41
컨트롤러(Controller)란? 쿠버네티스에서 제공하는 오브젝트를 생성하고 삭제 등 직접관리 할 수 있지만, Controller를 사용하여 high-level 컨트롤이 가능하다. 종류로는 ReplicaSet, ReplicationController, Deployment, StatefulSet, DaemonSet, Job, CronJob 등이 있다. ReplicaSet ReplicaSet은 ReplicationController의 상위 버전입니다. 기본적으로 Pod의 복제를 관리하며, replica의 지정한 수보다 많으면 삭제 작으면 생성하여 유지합니다. ReplicationController보다 ReplicaSet을 사용을 권장하며, ReplicationController와 동일한 기능을 제공합니다. ..
-
[Kubernetes] Kubernetes Object란? basic-object 간략하게 알아보기(pod, volume, service, label, selector, namespace)CI-CD/Kubernetes 2023. 1. 19. 20:33
Kubernetes Object란? 쿠버네티스에서 사용하는 영구한 객체라고 합니다. 이러한 개체는 클러스터의 생성한 객체의 상태를 나타내는 데 사용됩니다. 또한 배포한 내용과 다를 시 쿠버네티스에서 자동 복구를 진행하고 현상 유지를 하려고 합니다. 즉, object는 쿠버네티스에서 사용하는 각 서비스의 형태라고 보시면 됩니다. Object 종류 기본적인 object는 아래 4가지 입니다. 가장 먼저 알아야 할 object입니다. Pod : 쿠버네티스에서 실행 되는 컨테이너 묶음 단위 Namespace : 리소스들을 구분하기 위한 관리 그룹, yaml 파일에 matadata에 존재합니다. Volume : 컨테이너에서 사용하는 데이터를 매핑하여 데이터를 저장 보존 하는 storage 개체 Service : ..
-
[Kubernetes] Kubernetes 탄생배경, 구성요소 이해, 동작 과정 알아보기CI-CD/Kubernetes 2023. 1. 15. 12:52
Kubernetes란? 쿠버네티스는 컨테이너 오케스트레이션 툴이다. 쿠버네티스는 클러스터로 node를 여러개 묶어서 구성할 수 있으며, 이곳에 컨테이너를 몇개를 생성할 것인지, 생성한 컨테이너를 어떻게 유지보수 할 것인지, 컨테이너들은 어떻게 연동 할 것인지를 편리하게 구성 및 조작 할 수 있다. Kubernetes 탄생 배경 그럼 쿠버네티스는 왜 탄생하게 되었고 현대에 꼭 많이 사용하는 툴 이 되었을까? 먼저 개발을 진행한 내용을 배포 할 때 예전에는 하나의 웹 서버와 하나의 DB로 구성된 모놀리식으로 구성하였다. 하지만, 현대로 오면서 서버 운영의 확장성과 유동성을 제공하기 위해서 MSA 아키텍쳐의 필요성을 느끼게 되었고, 서버도 분리 DB도 분리하여 관리하게 되었다. 하지만, 이렇게 관리하게 되면 ..
-
데이터 측면에서 웹에서 발생하는 데이터 종류 알아보기(Transaction, Metadata, Event, Log, Aggregation)데이터 엔지니어링/데이터 엔지니어링 기본 2023. 1. 7. 17:34
안녕하세요 오늘은 웹에서 발생하는 데이터의 종류에 대해 좀 알아보면 좋을 것같아 이 글을 작성하게 되었습니다. 데이터를 다루다 보면 종류에 맞게 데이터를 설계하거나 머리속에 어느 정도의 수준의 데이터 인지 인지할 필요가 있는데요. 이 글로 아 이런 데이터는 이런 목적의 데이터 구나 하고 넘어가면 좋을 것 같습니다. Transaction Data 비즈니스나 시스템에서 빈번하게 생성되고 업데이트 되는 데이터를 의미한다. 즉, 트랜잭션 데이터는 일상적인 구매 및 판매 비즈니스 프로세스를 실행하거나 지원하는 동안 다양한 애플리케이션에서 생성되는 데이터입니다. 말이 어려운데 예로 들면, 음악 재생프로그램에 의하면, 다음과 같은 데이터가 Transaction Data입니다. 재생 목록에 음악 추가 및 삭제 이용자가..
-
[Prometheus] Service Discovery 파일 기반 Config파일 작성하기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:23
Service Discovery란? 오늘은 Service Discovery에 대해 알아보도록 하겠습니다. 마이크로서비스 아키텍처(MSA)로 구성되어 있는 서비스들은 각자 다른 IP와 Port를 가지고 있는데 이러한 서로 다른 서비스들의 IP와 Port 정보에 대해서 저장하고 관리할 필요가 있어서 이것을 관리하는 것이 Service Discovery라고 합니다. 이론적으로 자세한 내용이 있지만 Prometheus측면에서 보면 Prometheus는 yml파일로 service들을(global, alerting, scrape_configs 등) 관리하게 됩니다. 이런 서비스들이 많아지거나 적어지거나 할 경우 서버를 내렸다 올렸다 하는 것이 아니라 파일 형식으로 관리하면 동적으로 작동할 수 있게 됩니다. 먼저 P..
-
[Prometheus 개념] Jobs, Instances, Group에 대해 알아보기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:21
목차 Prometheus에서 묶음 모니터링은 어떻게 관리할까? job이란? Instance이란? Group이란? Yml파일 구성 예시 실습해 보기 Prometheus에서 묶음 모니터링은 어떻게 관리할까? 3개의 web 서버를 모니터링한다고 가정해 보자 그런데 한 서버만 정재 해서 모니터링 값을 보고 싶을 때도 있을 것이고 묶음으로 전체 서버의 값을 보고 싶을 때도 있을 것이다 이럴 땐 어떻게 해야 할까? 이런 문제를 해결하기 위해 Prometheus에서는 Job과 Instance를 사용한다. 아래 그림으로 예를 들어 보면 이해하기 쉽다. Job이란? Job은 Instance들의 집합이라고 이해하면 쉽다. 내가 한 묶음으로 보고 싶은 Web server를 모두 모아서 Job으로 구성하면 된다. 위에 보는 ..
-
[Prometheus 개념] Metric Type 과 Label에 대해 알아보고 Custom Exporter(=Client Library with python)작성하여 값 받아보기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:18
Metric이란? 메트릭이란 숫자 측정임. 시계열은 변경 사항을 시간 단위로 기록됨을 의미함. 애플리케이션의 특정 방식으로 작동하는 이유를 이해한 느데 중요한 역할을 함. 예를 들어 DB가 속도가 늘어졌다고 하면 쿼리의 작동 수는 얼마나 되는지 활성 사용자는 몇 명인지 등의 내용을 시간대 별로 쉽게 파악할 수 있음. Lable란? Lable은 Key-Value의 쌍을 얘기함 Prometheus에서 Lable은 Key-Value를 이용하여 특정 내용을 서칭하는 용도로 사용된다. Prometheus에서 Metric 표기법 기본 작성법 - {=,...} 예시 - api_http_requests_total {method="POST", code="200" , handler="/messages"} Metric = ..
-
[Prometheus] Prometheus와 Grafana 연동하고 Node_exporter 대쉬보드 만들기, Grafana Dashboard(데이터 엔지니어링/Prometheus 2022. 12. 19. 21:11
목차 Grafana란? Grafana 설치하기 Grafana 시작하기 Grafana 접속 Grafana Data Source 만들기 Grafana Dashboard 만들기 Grafana Dashboard(= Template) 사용하기 Grafana란? Grafana Lab에서 제공하는 오픈소스 데이터 시각화/모니터링 툴입니다. 보통 모니터링 툴로 사용한다고 합니다. BI 툴은 더 좋은 게 많으니깐요. 홈페이지 접속하시면 다양한 정보가 있습니다. Grafana는 데이터를 이관해서 사용하는 것이 아닌 데이터를 그 때 당시에 조회를 해서 시각화해주므로 성능이 좋습니다. 그래서 확장성이 좋으며 지원하는 Datasource도 꽤 있고, Plugins, 접근제어, Alert 같은 기능도 구현되어있어 모니터링 툴로는..