분류 전체보기 34

[Cloud] 쿠버네티스(Kubernetes)란? (5) (with. Volume, 정적 프로비져닝, 동적 프로비져닝)

Part1: 쿠버네티스 Storage 리소스 이해1-1. 프로비저닝이란?프로비저닝이란 사용자의 요구에 맞게 리소스를 준비하고 배치하는 것을 의미한다.쿠버네티스 환경에서의 프로비저닝은 Pod가 사용할 실제 저장 공간(SSD, HDD 등)을 준비하는 과정을 말한다. 1-2. PV와 PVC: 공급과 수요쿠버네티스는 저장소를 관리할 때 공급자와 사용자의 역할을 나눈다.PV (Persistent Volume - 지속성 볼륨): 공급자 측면: 관리자가 클러스터에 준비해 둔 실제 저장 공간예) 10GB짜리 SSD가 존재하니 필요할 때 사용하세요PVC (Persistent Volume Claim - 지속성 볼륨 요청)사용자(개발자) 측면: Pod가 저장 공간을 쓰기 위해 보내는 요청서예) 5GB 정도의 용량이 필요하고..

카테고리 없음 2026.01.13

[Cloud] 쿠버네티스(Kubernetes)란? (4) (with. Cordon/UnCordon, Taint/Toleration, Rolling, StatefulSet/DaemonSet)

오늘은 노드를 제어하는 명령어 또는 설정들에 대해서 알아보려고한다. Part1: Cordon과 Uncordon(노드 스케쥴 제어)Cordon과 Uncordon은 노드의 스케쥴을 제어하는 노드 관리 명령어이다.Cordon은 특정 노드에 새로운 Pod가 스케쥴 되지 않도록 제어하는 기능이고,UnCordon은 Cordon이 적용된 노드가 다시 정상적으로 스케쥴 되도록 하는 기능이다. 1-1. Cordon 실습워커 노드인 Cluster2번을 cordon하게 되면 아래와 같이 SchedulingDisabled상태가 되며,아래와 같이 배포를 진행했을 때 Cluster2번에만 Pod가 생성되지 않은 모습을 볼 수 있다. ※ 아래는 Cluster2번을 Cordon한 상태에서 4개의 replicas를 설정한 depl..

Cloud 2026.01.13

[Cloud] 쿠버네티스(Kubernetes) 배포 실습 3장 (with. Configmap, Env, Secret)

오늘은 ConfigMap과 Secret을 배포하여 Pod에서 사용하는 실습을 해보려고한다. 애플리케이션을 배포할 때 가장 신경 쓰이는 부분 중 하나가 바로 설정 관리이다.데이터베이스 주소나 API 키 같은 정보들을 코드 안에 하드코딩할 수는 없기 때문이다.쿠버네티스는 이를 위해 설정 데이터(ConfigMap)와 보안 데이터(Secret)를 관리하는 전용 보관함을 제공한다. 오늘은 우리 서버의 설정 파일과 비밀 저장소가 되어주는 두 리소스를 자세히 살펴보겠다. Part1: CLI로 ConfigMap 배포1-1. 실습1 (pod에서 configmap의 환경변수 사용해보기)ConfigMap에 대한 실습은 다음의 흐름과 같음ConfigMap 생성 및 배포 2. Pod생성 (환경변수 - ConfigMap 사용)..

Cloud 2026.01.13

[Cloud] 쿠버네티스(Kubernetes) 배포 실습 2장 (with. Service, Load Balancer, Cluster IP, NodePort, Ingress)

오늘은 쿠버네티스를 활용해 네트워크 통신에 활용되는 리소스들인 Service, Load Balancer, Ingress의 생성 및 배포 과정을 담아보려고한다. 이전에 배포한 Pod, Replicaset, Deployment에 연결하여 직접 배포된 서비스에 접근해보자 Part1: Service위의 서버 내부 그림을 잘 이해하면 통신의 과정을 이해할 수 있게된다.서버 외부에서는 {마스터 노드의 public ip번호}:{노드포트번호}를 통해 접근을 한다. 1). NodePort IP: 방식 서비스 배포NodePort IP는 외부 접속용 데이트로 외부 요청을 받기 위한 개념이다.외부에서 노드의 30000번 포트로 신호가 들어오면 -> 서비스가 이를 받아 -> 내부의 파드(80번 포트 등)로 전달합니다. 1-..

Cloud 2026.01.12

[Cloud] 쿠버네티스(Kubernetes) 배포 실습 1장 (with. Pod, ReplicaSet, Deployment, Job, CronJob)

오늘은 쿠버네티스를 활용해 기본 리소스인 Pod와 ReplicaSet, Deployment의 배포 과정을 담아보려고한다.단일 Pod의 배포, Deploy배포, Service 배포 등 yaml파일 방식과 CLI 방식으로 배포해보고,배포된 얘들을 확인하며 동작의 흐름을 이해해보자. Part0: Namespace 생성배포 실습을 하기 전에 우선 연습용 namespace를 만들어서 진행할 예정이다.kubectl create namespace {네임스페이스 명} 위의 명령어를 통해 만들면 된다.나의 경우 이니셜을 붙여 kym-test1이라고 붙였다. Part1: Pod배포※ 단일 pod으 경우에는 클러스터가 종료되면 함께 종료되는 특징이 있다.1-1. 일반 Pod 배포 (yaml파일 버전 / CLI 버전) ..

Cloud 2026.01.12

[Cloud] - K-PaaS를 통한 MSA 배포 실습 (with. 소스 컨트롤)

이번 실습은 MSA 구조의 간단한 어플리케이션을 배포해보려고한다.아래의 sample-msa 프로젝트를 활용해 실습을 진행했다. https://github.com/K-PaaS/msa-sample/blob/master/resource/configmap.yml ※ configmap이란 쉽게 말해, 애플리케이션 실행에 필요한 설정 정보(Configuration)를 코드와 분리하여 관리하기 위한 바구니※ configmap을 등록하는이유는 MSA 환경에서는 동일한 소스 코드를 가진 컨테이너라도 개발(Dev), 테스트(Test), 운영(Prod) 환경에 따라 데이터베이스 주소나 포트 번호 등 설정값이 다르기 때문에 공통 설정을 위한 파일을 등록한 것이다. [1. 적용할 Configmap 등록]해당 congifmap..

Cloud 2026.01.12

[Cloud] 마이크로서비스 아키텍처(MSA)란?

이번 주제는 MSA 아키텍처이다.MSA에 대해 제대로 공부해보며, 과거에 MSA구조로 진행했었던 프로젝트에 많은 부족함이 있었다는 걸 알게되었다.이번에는 MSA나 Monolitic 구조의 차이와 기본적인 개념 보다,MSA의 개발원칙과 CRUD와 MSA의 관계성에 대해서 알아보려고한다. MSA 개발 원칙( 12 Factors ) 1. 코드 베이스 버전 관리가 가능한 하나의 코드베이스와 이를 통한 다양한 배포버전관리는 개발과 운영이 동일해야한다Cloud Native인 경우 엄청나게 많은 Pod가 존재하기 때문에 이전의 버전을 확인하기 어렵기 때문에 버전 관리 필수정리: Git과 같은 버전 관리 시스템을 이용해 관리해야한다는 의미이다. 2. 종속성 명시적으로 선언되고 분리 된 종속성항상 재현이 가능한 빌..

Cloud 2026.01.07

[디자인 패턴] 서킷 브레이커(Circuit Breaker)란?

서킷 브레이커는 MSA 아키텍처를 공부하다보면 자연스럽게 만나게 되는 디자인 패턴이다.예를 들어, 쇼핑몰에서 결제 시스템에 장애가 발생하여 응답이 지연되고, 사용자에게는 무한 로딩이 걸리는 상황이 있다고 하자.쇼핑몰 서버에는 이런 요청들이 쌓여 결국 쇼핑몰 앱 전체 서버가 마비 되어, 구경하던 다른 사용자들도 앱이 튀기는 문제가 발생하게 된다. 이렇게 한 서비스의 장애가 서비스 전체로 장애가 전파되는데 이런 문제를 방지하는 패턴이 바로 서킷 브레이커라고 한다. 서킷 브레이커 (장애 전파)서킷브레이커(Circuit Breaker)란?특정 서비스 호출이 계속 실패할 때, 일시적으로 호출을 차단해서 장애가 다른 서비스로 번지는 것(연쇄 장애)를 막는 패턴왜 필요한가?MSA는 서비스가 서로 호출하는 구조라 하..

카테고리 없음 2026.01.07

[디자인 패턴] SAGA 패턴이란?

SAGA 패턴이란?분산 트랜잭션을 우아하게 처리하는 방법을 말한다.MSA 아키텍처가 보편화 되면서, 여러 서비스에 걸친 트랙잭션을 어떻게 처리할 것인가?에 대한 해답 중 하나이다. 목차 1. 분산 환경에서의 트랜잭션 문제2. 기존 해결책: 2PC (Two-Phase Commit)3. SAGA 패턴 등장 배경4. SAGA 패턴이란?5. SAGA의 핵심 개념 (보상 트랜잭션)6. SAGA 구현 방식 6-1. Choreography 방식 6-2. Orchestration 방식7. 간단한 예제로 이해하는 SAGA8. SAGA 패턴의 장점과 단점9. 언제 SAGA 패턴을 써야 할까?10. 정리 1. 분산 환경에서의 트랜잭션 문제. MSA 환경에서는 일반적인 트랜잭션이 어렵습니다.주문 / 결제 / 배송 서비..

카테고리 없음 2026.01.06

[Cloud] - NHN Cloud와 K-PaaS 구축하기

Part1 : K-PaaS의 이해 K-PaaS의 정의K-PaaS란 국내 IT 환경에 최적화하여 개발 및 운영을 표준화한 오픈소스 기반의 클라우드 플랫폼(PaaS)를 말한다.쉽게말해 오픈소스 기반인 Cloud Foundry나 Kubernetes를 활용하여 국내 공공 및 민간 환경에 맞게 고도화한 서비스형 플랫폼이다.클라우드 인프라 위에서 SW나 서비스를 개발/실행/운영/관리 하는 기반 SW 환경이다.Cloud Native Application을 위한 플랫폼 서비스의 핵심 기능으로, 사용 PaaS의 호환성 보장을 위해 공통된 기능들을 오픈 소스로 개발되었다. 컨테이너 플랫폼의 정의컨테이너 플랫폼은 쿠버네티스 클러스터 및 운영에 필요한 스토리지 서버로 구성되며,discription을 기반으로 컨테이너화된 어플..

Cloud 2026.01.04