Kubernetes에서 Deployment는 컨테이너 기반 애플리케이션을 안정적으로 배포, 관리, 확장하기 위한 핵심 리소스입니다. 복잡한 인프라 환경에서도 서비스의 가용성을 유지하고, 유연한 업데이트 및 롤백을 제공하는 중요한 도구입니다.이번 포스팅에서는 Deployment의 개념과 주요 기능, 그리고 관련 구조 및 동작 흐름을 그림을 통해 알아보겠습니다. 1. Deployment란?Deployment는 Kubernetes 클러스터에 애플리케이션의 원하는 상태를 정의하고, 이를 지속적으로 유지하도록 하는 리소스입니다. 사용자는 파드(Pod)의 수, 컨테이너 이미지, 업데이트 전략 등을 정의하기만 하면, Kubernetes가 실제 상태를 원하는 상태로 자동으로 조정해줍니다. 2. Deployment의 ..
Kubernetes란 무엇인가?Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장, 운영을 자동화하는 오픈소스 플랫폼입니다. 구글이 2014년 오픈소스로 공개했으며, 현재는 Cloud Native Computing Foundation(CNCF)에서 관리하고 있습니다.Kubernetes는 초기 Google의 내부 시스템인 Borg에서 영감을 받아 개발되었으며, 15년 이상의 대규모 서비스 운영 경험과 커뮤니티의 아이디어가 반영되어 있습니다. 이름인 Kubernetes는 '키잡이(helmsman)' 또는 '파일럿'을 의미하는 그리스어에서 유래되었습니다.이 플랫폼은 이식성, 확장성, 자동화, 선언적 구성을 지원하며, 다양한 환경(온프레미스, 클라우드, 하이브리드)에서 유연하게 동작합니다. 1. Ku..
지난 포스팅에서 이어집니다. 개인 프로젝트(DE Toy Project)를 진행하다가 운이 좋게 클라우드 아키텍처 솔루션 교육과정의 팀 프로젝트에서 개인 프로젝트를 Hybrid Cloud를 이용한 서비스로 확장 시킬 수 있었습니다. 하지만 기간이 정해져있어 제한 시간안에 서비스를 구현하는 것이 1순위였기에 데이터 처리 및 분석 작업을 심도있게 다루지 못하고 여러모로 아쉬운점이 있었습니다. 그래서 이번 포스팅은 팀 프로젝트 이후 지금까지 작업한 내용을 검토해보고 개선할 점과 앞으로 진행할 내용에 대해 작성해보겠습니다. 프로젝트 돌아보기지금까지 진행한 내용실시간 대규모 데이터 ETL과 분석경험을 위해 data(쿠팡 상품과 리뷰정보) ETL 및 분석 pipeline 구축을 목표로 프로젝트를 진행함차단 우회 및..
Docker를 활용한 애플리케이션 배포는 오늘날 많은 개발 환경에서 표준으로 자리 잡고 있습니다. 그 중심에 있는 것이 바로 Dockerfile입니다. 이 글에서는 Dockerfile이 무엇인지, 어떤 식으로 작성하고 사용하는지에 대해 간단히 정리해보겠습니다. Dockerfile이란?Dockerfile은 Docker 이미지를 빌드하기 위한 스크립트 파일입니다. 이미지 생성 과정에서 실행해야 할 명령들을 순차적으로 기술함으로써, 컨테이너 환경 구성을 자동화할 수 있습니다. 수동으로 설치하고 구성하는 과정을 반복하지 않아도 되므로, 일관성과 재현성이 확보되는 장점이 있습니다. 주요 명령어 정리Dockerfile은 다양한 명령어로 구성됩니다. 자주 사용하는 명령어들을 아래와 같이 정리할 수 있습니다FROM이미..