전체 글

전체 글

    GCP GKE에 쿠버네티스 클러스터 만들기 – Step 2

    지난 포스트에서는 쿠버네티스 환경에서 컨테이너를 배포하고 디플로이먼트를 이용하여 파드를 관리하는 플로우까지 살펴보았습니다이번에는 쿠버네티스에 서비스(Service)와 디플로이먼트(Deployment)를 중심으로 실제 운영 환경에서 반드시 알아야 할 개념과 명령어, 트러블 슈팅까지 정리해 보도록 하겠습니다 1. 서비스(Service)란?쿠버네티스에서 서비스는 파드 집합에 고정된 접근 포인트를 제공하며, 클러스터 내부 혹은 외부에서 트래픽을 파드에 안정적으로 전달하는 역할을 합니다 서비스의 주요 역할로드밸런싱 : 다수의 파드에 트래픽을 분산시킵니다서비스 디스커버리 : 클러스터 내부 DNS로 찾을수 있도록 도와줍니다고정 접근 포인트 제공 : 파드는 재시작/스케일링 시 IP가 바뀌지만 서비스 IP는 고정됩니다..

    GCP GKE에 쿠버네티스 클러스터 만들기 – Step 1

    개발을 하다 보면 로컬에서 잘 동작하던 컨테이너가 실제 운영 환경으로 넘어갔을 때 각 종 문제가 발생하는 경우가 많습니다특히 서비스가 하나가 아니라 여러 개일 때 단순히 VM 컨테이너를 하나씩 올리는 방식만으론 확장성과 관리에 한계에 부딪히게 됩니다이러한 문제를 해결하고자 등장한 게 바로 쿠버네티스와 같은 컨테이너 오케스트레이터입니다 이번글에서는 GKE(Google Kubernetes Engine) 기반 k8s환경에서 실제 컨테이너 이미지를 배포하고, 확장, 오토스케일링 등 과 같은 내용을 정리해 보았습니다 1. 컨테이너 오케스트레이터를 왜 쓰는가?현재 소프트웨어 배포의 표준은 컨테이너입니다하지만 컨테이너 하나만으로는 모든 운영 문제가 해결되지 않습니다여러 대의 서버에 컨테이너를 배포/확장/업데이트/모..

    쿠버네티스를 배우기 전 꼭 알아야할 도커 핵심 정리

    쿠버네티스를 배우기 전에, 도커에 대한 개념을 먼저 이해하는 것이 중요합니다.이번 글에서는 컨테이너의 개념부터 시작해 Dockerfile 작성, 이미지 빌드, 도커 컴포즈를 이용한 개발 환경 구성, 외부 서비스와의 연동 및 페이크(Fake) 서비스 활용까지, 쿠버네티스 학습을 위한 기초를 다지기 위해 꼭 필요한 도커의 핵심 내용을 정리해보았습니다. 1. 도커란 무엇인가?도커(Docker)는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다컨테이너는 소프트웨어, 라이브러리, 종속성 등 애플리케이션 실행에 필요한 모든 것을 패키지로 묶어 표준화된 단위로 만듭니다 컨테이너 vs 가상 머신가상 머신: 하드웨어를 가상화 → 운영체제 포함 → 무겁고 느림컨테이너: 운영체제를 공유하되 앱 실행 환경만 격리 → 가볍고 ..

    쿠버네티스란(Kubernetes) 무엇인가?

    오늘은 최근 인프라 환경에서 많이 사용되고 있는 쿠버네티스(Kubernetes)에 대해 간단히 알아보겠습니다. 컨테이너는 무엇인가?쿠버네티스는 기본적으로 컨테이너 기반으로 동작합니다. 따라서 쿠버네티스가 무엇인지를 알기 전에 컨테이너가 무엇인지 알아보겠습니다 컨테이너란 애플리케이션과 애플리케이션이 필요한 라이브러리 및 설정 파일들을 하나의 패키지로 묶어 격리된 환경에서 실행할 수 있게 해주는 기술입니다컨테이너가 등장하기 이전에는 하나의 서버 위에 여러 애플리케이션을 포트와 디렉터리를 분리해 운영했지만이는 유지보수 와 애플리케이션간의 충돌을 발생시켰습니다 이러한 문제를 해결 하기 위해 VM(가상 머신)이 등장하였지만 자체 os를 포함하고 있어서 무겁고 리소스 낭비가 컸습니다 컨테이너는 이런 VM의 단점..

    JWT + HttpOnly 쿠키 기반 인증 플로우 정리

    JWT(Json Web Token)는 웹 애플리케이션 에서 사용자 인증을 수행하는 강력한 방법중 하나 입니다하지만 JWT를 잘못 사용하면 보안 취약점이 발생할 수 있습니다. 특히 'AccessToken 과 RefreshToken 을 어디에 저장할 것 인가?' 는 중요한 보안 문제입니다이번 글에서는 HttpOnly 쿠키를 활용한 JWT 인증 플로우를 정리해보도록 하겠습니다 JWT + HttpOnly 쿠키 기반 인증 흐름1. 사용자 로그인사용자가 로그인 폼에서 아이디와 비밀번호를 입력하여 서버에 인증 요청을 보냅니다. 2. 서버에서 인증 정보 확인 및 JWT 발급서버는 사용자의 아이디와 비밀번호를 확인한 후, 두 개의 JWT 토큰을 발급 합니다.AccessToken짧은 유효기간(15분 ~ 1시간)사용자 ID..

    AWS EC2와 WebServer(nginx)에 이해

    저희 회사에 제가 소속되어 있는 프론트엔드 팀 같은 경우는 매주 팀원들끼리 돌아가면서 세미나를 진행하고 있습니다각자 자율주제로 세미나를 하게 되는데 이번에 제가 AWS EC2와 nginx에 관련된 내용을 발표했었는데해당 내용이 프론트엔드 개발자한테도 중요하다고 생각하여 블로그에도 한번 작성해 보도록 하겠습니다  AWS EC2(Elastic Compute Cloud)란?EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스입니다EC2를 사용하면 아마존이 전 세계에 구축한 데이터 센터의 서버용 컴퓨터들의 자원을 원격으로 사용할 수 있습니다 즉 아마존으로부터 한대의 서버용 컴퓨터를 임대하는 것입니다, AWS 가 제공하는 URL(Public DNS)를 통해 해당 컴퓨터의 원격으로 접근할 수 있습니다 EC2의 장점..

    효율적인 소프트웨어 설계를 위한 State Machine 알아보기

    오늘은 State Machine에 대해서 알아보도록 하겠습니다 본 글에서는 간단하게 상태머신 이라고 하도록 하겠습니다 상태 머신(State Machine) 이란? 상태 머신은 컴퓨터 과학에서 시스템의 동작을 모델링 하는 데 사용되는 개념으로 시스템이 가질 수 있는 상태(State)들의 집합과 그 상태들 간의 전이(Transition)를 정의합니다 상태 머신은 시스템이 특정 시점에 어떤 상태에 있으며 이벤트나 조건에 따른 다른 상태로 전환할 수 있다는 것을 설명합니다 대략 아래와 그림과 같이 각 상태들 정의하고 해당 상태들 간의 전의들을 정의하는 게 상태 머신입니다 상태 : 시스템이 특정 시점에 가질 수 있는 조건이나 상황을 의미합니다 예를 들어 교통 신호등은 빨간색, 노란색, 초록생에 상태를 나타내며 각..

    일렉트론 이대로 괜찮은가?(w.Tauri)

    이직한 회사에서 일렉트론으로 개발을 주로 하고 있는데 데스크탑 앱 개발을 할 때 사용하는 프레임워크가 일렉트로만 있을까? 하는 생각을 하다가 Tauri 프레임워크를 알게 되었습니다 따라서 오늘은 최근에 등장한 Tauri 프레임워크를 알아보면서 일렉트론과 어떤 게 다른지를 한번 알아보도록 하겠습니다 Tauri https://tauri.app/ko/ Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps Tauri는 주요 데스크톱 플랫폼을 위한 작고 불티나게 빠른 바이너리를 만드는 프레임워크입니다. 개발자는 사용자 인터페이스를 위해 HTML, JS, CSS로 컴파일되는 그 어떤 프론트엔드 프레임워크..

    Nextjs 14 공개

    드디어 4달간에 프로젝트를 끝나고 여유가 생겼는데 프로젝트 진행하는 와중에 NextJs 컨퍼런스에서 Nextjs 14 가 발표가 되었네요 그러므로 오늘은 Nextjs 14에 변경되는 사항을 한번 정리해 보겠습니다 Nextjs 공식 블로그 글에 내용을 참고하였습니다 https://nextjs.org/blog/next-14 Next.js 14 Next.js 14 includes included performance, stability for Server Actions, a new course teaching the App Router, and more. nextjs.org 우선 가장 크게 변경되는 점은 3가지입니다 Turobpack 최대 53% 더 빠른 로컬 서버 구동 속도 빠른 새로 고침으로 최대 94% ..

    PlantUML 을 이용하여 시퀀스 다이어그램 그려보기

    안녕하세요 정말 오랜만에 블로그 글을 쓰네요 ㅎㅎ 최근에 일들이 많이 바빠서 블로그에 신경을 많이 못쓴 게 많이 아쉽습니다 ㅠㅠ 오늘은 최근에 프로젝트에 전반적인 구조 및 설계를 보는것에 대해 관심이 가지게 되었는데 설계를 하려면 여러 가지 다이어그램을 그리 줄 알고 잘 볼 수 있어야 될 거 같습니다 그래서 PlantUML을 통해 시퀀스 다이어그램을 만드는 방법에 대해서 작성해 보겠습니다 PlantUML PlantUML 은 텍스트 기반으로 다이어 그램을 생성할 수 있는 오픈소스 도구입니다 사용자는 DSL(Domain Specific Language)을 활용하여 다양한 UML(Unified Modeling Language) 다이어그램을 설명하고 PlantYML 은 이를 그래픽 다이어그램으로 변환합니다 Pl..