공부/데이터
-
[Kubernetes] 스토리지 - 볼륨공부/데이터 2025. 1. 30. 21:46
쿠버네티스 볼륨은 파드 내의 컨테이너가 파일 시스템을 통해 데이터에 접근하고 공유할 수 있는 방법을 제공합니다. 다양한 목적에 따라 사용할 수 있는 여러 종류의 볼륨이 있습니다. 예를 들어 다음과 같은 용도로 사용할 수 있습니다.ConfigMap 또는 Secret을 기반으로 설정 파일을 채우기파드를 위한 임시 스크래치 공간 제공동일한 파드 내의 두 컨테이너 간에 파일 시스템 공유서로 다른 노드에서 실행되더라도 두 개의 다른 파드 간에 파일 시스템 공유파드가 다시 시작되거나 교체되더라도 계속 사용할 수 있도록 데이터 영구 저장컨테이너가 속한 파드의 세부 정보(예: 파드가 실행 중인 네임스페이스)를 기반으로 컨테이너에서 실행되는 앱에 구성 정보 전달 (예: 사이드카 컨테이너에 파드가 실행 중인 네임스페이스 ..
-
[Kubernetes] 서비스, 로드 밸런스, 네트워킹 - Ingress, 게이트웨이 API공부/데이터 2025. 1. 30. 17:38
IngressIngress는 클러스터 외부에서 클러스터 내부의 서비스로 HTTP 및 HTTPS 라우트를 노출합니다. 트래픽 라우팅은 Ingress 리소스에 정의된 규칙에 따라 제어됩니다.다음은 모든 트래픽을 하나의 서비스로 전달하는 간단한 Ingress 예시입니다.Ingress는 서비스에 외부에서 접근 가능한 URL을 제공하고 트래픽을 로드 밸런싱하며 SSL/TLS를 종료하고 이름 기반 가상 호스팅을 제공할 수 있습니다. Ingress 컨트롤러는 일반적으로 로드 밸런서를 사용하여 Ingress를 처리하지만 엣지 라우터나 추가적인 프런트엔드를 구성하여 트래픽 처리를 지원할 수도 있습니다.Ingress 컨트롤러 목록: https://kubernetes.io/docs/concepts/services-netwo..
-
[Kubernetes] 서비스, 로드 밸런스, 네트워킹 - Service공부/데이터 2025. 1. 29. 23:14
배포한 어플리케이션을 노출하는 방법쿠버네티스에서 애플리케이션을 외부에 노출하는 일반적인 방법은 Service 리소스를 사용하는 것입니다. 하지만 몇 가지 특정한 경우에는 서비스를 사용하지 않고도 애플리케이션을 노출할 수 있습니다. 여기서 소개하는 방식은 전부 단점이 존재하기 때문에 Service를 사용해 애플리케이션을 노출해야 합니다.Port-forwardingkubectl port-forward 명령어를 사용하여 로컬 머신의 특정 포트를 파드 내부의 컨테이너 포트에 연결합니다. 이렇게 하면 로컬 머신의 포트를 통해 파드 내부에서 실행되는 애플리케이션에 접근할 수 있습니다.포트 포워딩은 개발 및 디버깅 과정에서 주로 사용되며 로컬 머신에만 유효하여 영구적인 애플리케이션 노출 방법으로는 적합하지 않습니다...
-
[Kubernetes] 워크로드 리소스 - StatefulSets, DaemonSet공부/데이터 2025. 1. 29. 17:01
StatefulSetsStatefulSet은 Kubernetes에서 상태를 유지해야 하는 애플리케이션을 관리하기 위한 워크로드 API 객체입니다. 일반적인 Deployment와 달리 StatefulSet은 각 파드에 고유한 식별자를 부여하고 이를 유지하여 상태를 보장합니다. 즉, StatefulSet은 각 파드에 이름표를 달아주고, 그 이름표를 잃어버리지 않도록 관리하는 역할을 하여 상태를 유지해야 하는 애플리케이션을 안정적으로 운영할 수 있습니다.특징고유한 식별자: 각 파드에 고유한 ID를 부여하여 파드의 순서와 고유성을 보장합니다.영구 저장소: 영구 저장소를 사용하여 데이터를 지속적으로 유지할 수 있습니다.안정적인 네트워크 ID: 안정적인 네트워크 ID를 통해 다른 서비스에서 StatefulSet의 ..
-
[Kubernetes] 워크로드 리소스 - ReplicationController, ReplicaSet, Deployment공부/데이터 2025. 1. 28. 19:58
쿠버네티스는 ReplicationController와 ReplicaSet과 같은 컨트롤러를 통해 서비스의 안정성과 확장성을 보장합니다. 이 컨트롤러들은 클러스터 내에서 필요한 파드의 수를 자동으로 조절하여 항상 원하는 상태를 유지하도록 합니다.선언적 구성은 쿠버네티스의 핵심 개념 중 하나입니다. 이는 시스템에게 "어떤 동작을 해라"라고 지시하는 명령형 방식과 달리, "시스템을 어떤 상태로 만들어라"라고 선언하는 방식입니다. 즉, "파드를 3개 만들어라"라고 명령하는 대신 "항상 3개의 파드가 유지되도록 해라"라고 선언하는 것입니다.ReplicationController💡수평적으로 확장 가능한 워크로드를 관리하기 위한 레거시 API이고 Deployment나 ReplicaSet API를 사용하는 것을 권장..
-
[Kubernetes] Pod공부/데이터 2025. 1. 28. 19:58
워크로드, 워크로드 리소스, 파드의 관계워크로드는 쿠버네티스 클러스터에서 실행되는 애플리케이션을 의미합니다. 즉, 우리가 배포하고 관리하려는 서비스나 프로그램 자체를 가리킵니다.워크로드 리소스는 워크로드를 관리하는 객체입니다. 즉, 워크로드를 구성하고 파드를 생성하며 파드의 상태를 유지하는 역할을 합니다. ReplicaSet, Deployment, StatefulSet, DaemonSet, Job 등이 대표적인 워크로드 리소스입니다.파드는 워크로드를 실행하는 최소 단위입니다. 하나의 파드에는 하나 이상의 컨테이너가 포함될 수 있으며, 이들은 공유 네트워크와 볼륨을 가지고 함께 실행됩니다.파드란파드는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위입니다.파드는 하나 이상의 컨테이..
-
[Kubernetes] 클러스터, 노드, 네임스페이스, 파드공부/데이터 2025. 1. 24. 23:49
클러스터쿠버네티스 내 가장 큰 단위로 컨테이너를 실행하는 노드의 집합입니다.노드쿠버네티스의 노드는 컨테이너를 실행하는 물리 서버 또는 가상 머신입니다. 노드는 컨테이너가 실행되는 컴퓨터라고 생각하면 됩니다.클러스터 구성요소사용자는 kubectl ****명령어를 통해 쿠버네티스 클러스터와 통신하고 클러스터 내의 마스터 노드(컨트롤 플레인)는 API를 통해 클러스터 전체를 컨트롤하며 워커 노드(데이터 플레인)는 마스터 노드의 명령에 의해 워크로드를 생성하고 서비스합니다. 즉, 마스터 노드는 클러스터를 관리하는 역할이며 워커 노드는 실제 실행을 담당하는 역할입니다.💡워크로드는 쿠버네티스에서 구동되는 애플리케이션입니다. 클러스터에서 실행하려는 작업이나 서비스 등을 가리키는 말로 사용됩니다.네임스페이스클러스터 ..
-
데이터 메시(Data Mesh)란?공부/데이터 2023. 7. 16. 16:38
데이터 메시는 왜 나오게 됐는가? 데이터 메시는 기존의 중앙 집중식 데이터 아키텍처의 한계와 어려움을 극복하기 위해 등장했습니다. 이는 기업이 다양한 소스에서 대량의 데이터를 다루고 분석해야 하는 상황에서 유연성과 효율성을 높이기 위한 것입니다. 기존 중앙 집중식 데이터의 어려움은 다음과 같습니다. 사일로화된 데이터 팀: 중앙의 데이터 팀에 있는 전문 데이터 사이언티스트와 엔지니어는 비즈니스와 도메인에 대한 지식이 부족합니다. 이러한 사실로 인해, 데이터 팀은 목적을 명확하게 이해하지 못한 채로 어쨌든 다양한 운영 및 분석 요구 사항에 맞는 데이터를 제공해야 합니다. 이는 데이터의 정확성과 유용성에 부정적인 영향을 미칠 수 있습니다. 느린 변경 응답성: 데이터 엔지니어는 일반적으로 데이터를 수집하여 중앙..
-
데이터 패브릭(Data Fabric)이란?공부/데이터 2023. 7. 14. 01:55
데이터 패브릭은 왜 나오게 됐는가? 데이터 레이크는 모든 정형 및 비정형 데이터를 중앙 저장소에 저장할 수 있게 해주고, 실시간 스트리밍 기능과 데이터 처리 기능을 제공합니다. 이러한 기능으로 인해 데이터 레이크는 데이터 웨어하우스보다 더 유연한 성능을 제공하지만, 여전히 기업 내의 데이터 팀은 서로 다른 요구사항을 가진 비즈니스 내 여러 부서로부터 받은 임시 요청을 처리하는 데 어려움을 겪고 있습니다. 데이터 팀은 데이터 레이크에서 다양한 도메인을 위한 분석 파이프라인을 준비하여 도메인 팀의 사용자가 데이터를 사용할 수 있도록 해야 합니다. 그러나 데이터를 수집하고 정제하는 것은 부담스러울 수 있습니다. 또한 다양한 도메인에서 제공되는 데이터의 특징을 이해하기 위해 광범위한 분석이 필요하며, 조직적으로..
-
[Airflow] Sensor의 reschedule과 poke 실행 모드 동작 원리공부/데이터 2023. 4. 16. 23:17
airflow 공식 블로그에서도 각 모드에 대해 어떻게 동작이 달라지는지 설명이 나와 있지 않아 실제 코드를 보며 설명을 해보겠습니다 Sensor operator의 설명은 https://brownbears.tistory.com/587 에서 확인할 수 있습니다. airflow 2.3.4버전 poke 모드 sensor에서 poke을 설정하고 해당 sensor가 실행되면 airflow UI에서 다음과 같은 로그를 볼 수 있습니다. [2023-04-10, 11:22:17 UTC] {external_task.py:184} INFO - Poking for tasks None in dag on 2023-04-10T10:00:00+00:00 ... [2023-04-10, 11:23:17 UTC] {external_ta..