[Kubernetes] 서비스
·
Kubernetes
서비스는 쿠버네티스 클러스터에서 실행 중인 애플리케이션을 네트워크를 통해 외부에 노출하는 방식이다. 특히 쿠버네티스는 워크로드가 여러 개의 백엔드 파드로 나뉘어 있을 때도 이들을 하나의 추상화된 엔드포인트로 묶어서 접근할 수 있도록 돕는다.예를 들어, 클러스터 내에서 여러 파드가 동일한 기능을 제공할 때, 클라이언트가 이 파드들의 IP 주소를 하나하나 직접 추적하는 것은 현실적이지 않다. 파드의 수가 많을 수도 있고, 쿠버네티스의 특성상 파드가 클러스터의 원하는 상태(desired state)를 유지하기 위해 계속 생성되고 사라지는 과정을 반복하기 때문이다. 이러한 문제를 해결하기 위해 쿠버네티스는 서비스라는 추상화 개념을 제공한다. 쿠버네티스의 서비스는 파드의 논리적 집합과 이 파드들에 접근하는 정책을..
[Service Mesh] istio w/ sidecar
·
Kubernetes
최근 cloud native의 clustering에 대해서 탐구하면서 service mesh에 대한 학습을 하였다.아래는 그 학습 내용을 바탕으로 왜 service mesh가 필요하고, service mesh는 어떤 것이고, 그중에서 istio에 대해 한 번에 정리해 보았다. 조금 주저리주저리 말이 많다. service mesh는 마이크로 서비스 또는 서비스 간 통신을 용이하게 하기 위한 전용 인프라 계층이다. 단순히 서비스끼리의 통신하는 것이 아니라, 트래픽 관리 , 보안 로깅 모니터링, 장애감지 및 복구를 담당하는 역할을 한다. 과거에는 애플리케이션 코드에서 직접 구현하였지만, 서비스 메시는 이 기능들을 분리하여 네트워크 레이어에서 통합 처리하는 방식애플리케이션이 확장되고 마이크로서비스의 수가 증가함..
[Kubernetes] kube-scheduler
·
Kubernetes
오늘은 쿠버네티스의 스케줄링에 대해서 공부하다가, 그 개념을 더욱 명료화 하기 위하여 정리했다. kube-scheduler에 대한 한줄 설명 :→ kube-scheduler는 쿠버네티스의 기본 스케줄러다. 새로운 파드가 생성될 때 해당 파드를 어떤 노드에 배치할지 결정한다.kube-scheduler란?kube-scheduler는 쿠버네티스의 기본 스케줄러다. 새로운 Pod가 생성될 때 해당 파드를 어떤 Node에 배치할지 결정한다.쿠버네티스 Control Plane에서 동작하며, 사용자가 구현한 커스텀 스케줄러로 교체할 수도 있도록 확장 가능한 구조로 설계되었다.kube-scheduler가 필요한 이유리소스 최적화 cpu, 메모리, 디스크 등의 자원을 효율적으로 배분하려면 파드 요구사항에 맞는 노드를 자..
Ray, Kuberay: Cloud native와 분산 컴퓨팅
·
Kubernetes
Ray란 무엇인가: 한줄요약Ray는 Python 기반의 오픈소스 분산 컴퓨팅 프레임워크로, 머신 러닝(ML), 강화 학습(RL), 대규모 데이터 처리 등 고성능 작업을 쉽게 병렬화하고 확장할 수 있게 해준다.장점으로는 기존 Python 코드에 큰 수정 없이 데코레이터를 사용해 병렬 처리를 수행할 수 있으며, 내부적으로 Apache Arrow를 이용해 zero-copy 직렬화를 지원한다. 또한 인메모리 오브젝트 스토어(Object Store)를 갖추고 있어 프로세스 간에 대용량 데이터를 빠르게 공유할 수 있다.왜 Ray를 사용하는가간단한 APIPython 기반의 간결한 API로 분산 작업을 쉽게 작성할 수 있다.자동 병렬화함수에 @ray.remote 데코레이터만 붙이면, 클러스터 여러 노드에서 병렬 실행이..
K8S(1) 큰 그림을 잡아보자
·
Kubernetes
본 게시글은 쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 강의 | 일프로 - 인프런일프로 | ⚓쿠버네티스, 🙇‍♀️아직 망설이시나요? 🙋‍♂️저만 믿고 따라오세요! 당신의 실력을 ⭐어나더 레벨로 만들어 드리겠습니다.,   ✅ 광범위한 쿠버네티스 기술을 A~Z까지 넓고www.inflearn.com을 수강하고 정리 및 프로젝트에 적용하는 게시글입니다.꼼꼼히 자료를 만들어주시고, 깊은 강의를 제공해주신 강사님께 감사드립니다.쿠버네티스란?쿠버네티스(kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오케스트레이션 플랫폼이다.클라우드 컴퓨팅 강의를 들으면서 가장 주요하게 다뤘던 부분들 중 하나는 falut tolerance, scaling이다. 이 부분들은 기존 ..