본문 바로가기
반응형

All Posts257

[네트워크] RDT(reliable data transfer)의 개념과 진화, FSM 설명 - 신뢰할 수 있는 데이터 전송 프로토콜 신뢰할 수 있는 데이터 전송 프로토콜(Reliable Data Transfer Protocol)신뢰할 수 있는 데이터 전송 프로토콜(Reliable Data Transfer Protocol, RDT)은 신뢰할 수 없는 네트워크 환경에서 데이터를 안정적으로 전송하기 위한 메커니즘이다. 이는 전송 계층(Transport Layer)에서 중요한 역할을 하는 프로토콜이다.신뢰할 수 있는 데이터 전송의 원칙(Principles of Reliable Data Transfer)신뢰할 수 있는 데이터 전송 프로토콜의 복잡성은 신뢰할 수 없는 채널(unreliable channel)의 특성에 크게 의존한다.채널이 데이터를 손실(lose)하거나, 손상(corrupt)시키거나, 순서를 바꾸는(reorder) 경우에 따라 프.. 2025. 5. 5.
[minikube] 쿠버네티스 네트워킹, 디스커버리를 이용한 MySQL 파드와 연동하기 (데이터베이스 연결) 쿠버네티스의 네트워킹과 서비스 디스커버리 이해하기쿠버네티스에서 네트워킹과 서비스 디스커버리는 컨테이너 간 통신을 가능하게 하는 핵심 메커니즘이다. 이 기능을 통해 분산된 마이크로서비스들이 서로를 찾고 통신할 수 있으며, 이는 현대적인 클라우드 네이티브 애플리케이션 구축의 필수 요소이다. 이 글에서는 쿠버네티스의 네트워킹 처리 방법과 서비스 디스커버리 작동 원리에 대해 자세히 알아보고 실제 적용 방법까지 다룬다.쿠버네티스 네트워킹의 기본 원리쿠버네티스에서 네트워킹은 애플리케이션 컨테이너가 서로 통신할 수 있도록 하는 중요한 기반이다. 이를 이해하기 위해서는 컨테이너 간 통신의 기본 개념을 먼저 알아야 한다.컨테이너 간 통신의 필요성애플리케이션을 개발할 때 다양한 서비스를 분리하여 배포하는 것이 일반적이다... 2025. 5. 1.
[minikube] 쿠버네티스 디플로이먼트(Deployment)를 이용한 롤링 베포, 롤백 가이드 (rolling, rollout) 쿠버네티스 Deployment(디플로이먼트) 이해와 활용 가이드쿠버네티스에서 Deployment는 포드를 관리하는 가장 일반적인 방법이다. 레플리카 세트의 기능을 확장하여 애플리케이션의 지속적인 배포와 업데이트를 가능하게 해주는 리소스이다. 이 글에서는 디플로이먼트의 개념, 구조, 그리고 실제 활용 방법에 대해 상세히 알아보도록 한다.디플로이먼트란 무엇인가디플로이먼트는 쿠버네티스에서 기본적으로 레플리카 세트를 관리하는 더 고급 수준의 컨트롤러이다. 레플리카 세트의 모든 기능을 포함하면서 추가로 롤링 업데이트와 롤백과 같은 배포 관련 기능을 제공한다. 가장 큰 장점은 가동 중지 시간 없이 애플리케이션을 업데이트할 수 있다는 점이다.디플로이먼트는 레플리카 세트를 생성하고 관리하며, 레플리카 세트는 포드를 생.. 2025. 4. 30.
[minikube] 쿠버네티스 레플리카셋(replicaset)을 이용한 무중단 베포 가이드 (고가용성 유지) ReplicaSet: Pod 수명 관리를 책임지는 컨트롤러1. ReplicaSet이란?Kubernetes에서 ReplicaSet은 특정 수의 Pod 복제본이 항상 실행되도록 보장해주는 **컨트롤러(controller)**이다. 만약 어떤 Pod가 종료되거나 장애로 인해 사라지더라도, ReplicaSet은 새로운 Pod를 자동으로 생성하여 원하는 개수를 유지한다.이는 특히 무중단 서비스 제공과 고가용성(HA, High Availability) 확보에 필수적인 요소다.2. 왜 필요한가?Kubernetes에서는 Pod 자체는 일시적인 존재다. 다음과 같은 상황을 생각해보자.Pod가 예기치 않게 종료되면 수동으로 다시 띄워야 할까?서비스 확장을 위해 Pod 수를 늘리고 싶다면 어떻게 해야 할까?이러한 반복적이고.. 2025. 4. 30.
[minikube] 쿠버네티스 Queue 파드 및 서비스 배포 가이드 쿠버네티스에서 ActiveMQ(Queue) 포드 및 서비스 배포 가이드이번 시간에는 여러분이 직접 ActiveMQ(Queue) 서비스를 쿠버네티스에 포드와 서비스로 배포하는 방법을 실습해보겠다.1. 실습 개요필요한 이미지는 richardchesterwood/k8s-fleetman-queue:release1이다.release1 태그를 사용하는 이유는 프로토타입과 구분되는 실제 릴리스 환경에서만 큐가 동작하도록 하기 위함이다.포드가 실행 중일 때 8161 포트로 큐 관리 콘솔이 노출된다.관리 콘솔의 기본 아이디와 비밀번호는 각각 admin, admin이다.NodePort로 8161 포트를 직접 노출하는 것은 권장되지 않으나, 현재는 로컬 환경이므로 30010 포트로 노출한다.포트 번호는 30000~32767.. 2025. 4. 27.
[네트워크] UDP 특징과 구조 체크섬, 인터넷 체크섬 UDP: User Datagram Protocol은 전송 계층의 단순한 프로토콜로, 연결 설정 없이 빠르게 데이터를 전송할 수 있도록 설계되었다UDP의 특징“no frills”, “bare bones”불필요한 기능 없이 가장 기본적인 기능만 제공하는 전송 계층 프로토콜이다.“best effort” 서비스패킷 손실 가능성 있음 (lost)패킷 순서가 뒤바뀐 채 도착할 수 있음 (delivered out-of-order)가능한 한 전달하려는 방식으로 작동하며, 다음과 같은 현상이 발생할 수 있다:connectionless (비연결성)송신자와 수신자 간에 handshaking(연결 수립 과정)이 없음각 UDP 세그먼트는 독립적으로 처리됨연결 상태를 유지하지 않기 때문에 빠르고 간단함 UDP가 필요한 이유연결 .. 2025. 4. 25.
[네크워크] 멀티플렉싱과 디멀티플렉싱 - TCP, UDP, 연결지향 전송 계층 서비스서로 다른 호스트에서 실행되는 애플리케이션 프로세스 간의 논리적인 통신(logical communication)을 제공하는 것이 목적이다.실제 물리적인 연결이 아닌, 사용자 입장에서는 애플리케이션 간 직접적인 통신처럼 보이게 한다. Transport Layer vs Network LayerTransport Layer는 애플리케이션 간의 논리적 연결(Logical Communication) 제공Network Layer는 데이터를 목적지까지 전달(Routing)호스트: 집 (Host = House)프로세스: 사용자(자녀) (Process = Kid)메시지: 편지 (Message = Letter)주소: IP + PortMultiplexing: 여러 프로세스 데이터를 하나로 모음Demultipl.. 2025. 4. 24.