시스템 개발 및 관리/이커머스 효율화: NLP 모델 적용 10

[CI/CD 구축] ArgoCD

ArgoCD는 GitOps 기반의 Kubernetes 배포 관리 도구입니다. Git 저장소를 **싱글 소스 오브 트루스(Single Source of Truth)**로 활용하여 자동화된 배포 및 지속적인 동기화를 제공합니다.ArgoCD의 핵심 원리Git의 파일, 구조, 코드가 변경되면 → ArgoCD가 이를 감지하고 자동으로 Kubernetes에 배포즉, **Git이 Kubernetes 배포의 기준(Single Source of Truth)이 되며, Git 변경 사항이 자동으로 반영되는 방식(GitOps)**입니다.ArgoCD를 사용하는 이유GitOps 방식으로 Kubernetes 애플리케이션을 관리기존 CI/CD 방식과 달리 Git을 실시간으로 Kubernetes 배포와 동기화합니다.Git 저장소의 상..

Setup.py

setup.py란?setup.py는 Python 패키지를 설치하고 배포하는 데 사용되는 설정 파일입니다.Python의 setuptools를 사용하여 패키지를 만들고, pip install을 통해 설치할 수 있도록 합니다. 기본적인 setup.py 예제from setuptools import setup, find_packagessetup( name="mlopslib", # 패키지 이름 (pip install mlopslib 시 사용됨) version="0.0.1", # 패키지 버전 (업데이트 시 변경해야 함) description="Custom library for MLOps", # 패키지 설명 url="https://gitlab.com/wnsgud4553/mlops-librar..

[Kubernetes 배포 환경 구축] Kubernetes 생성 및 실행

GCP의 GKE(Google Kubernetes Engine)에서 Helm을 활용하여 FastAPI 애플리케이션을 배포하는 과정을 정리합니다. 이 글에서는 쿠버네티스 클러스터 생성부터 네임스페이스 설정, Helm 차트 배포, 서비스 실행 확인까지의 흐름을 설명합니다. GKE 클러스터 설정 먼저, GCP 콘솔에서 GKE 클러스터를 생성합니다. 이 예제에서는 mlops-cluster라는 이름의 클러스터를 asia-northeast3-a 지역에 생성했습니다.   터미널에서 아래 명령어를 실행하여 GKE 클러스터의 인증 정보를 가져옵니다. 이제 kubectl 명령어를 사용하여 클러스터를 관리할 수 있습니다.   Kubernetes에서는 네임스페이스를 사용하여 리소스를 분리할 수 있습니다.이번 배포에서는 api라..

[Kubernetes 배포 환경 구축] Helm 생성

GCP Artifact Registry와 Helm을 활용한 Kubernetes 배포 과정 이번 블로그에서는 GCP Artifact Registry를 활용한 Docker 이미지 관리와 Helm을 이용한 Kubernetes 배포 과정을 정리합니다. 프로젝트 구성 및 GitLab 연동mlops-app, mlops-helm, mlops-library 등 GitLab에 프로젝트가 구성되어 있음.각 프로젝트는 Kubernetes에서 배포될 애플리케이션 및 Helm 차트를 관리하는 역할을 함.✅ Helm 설치   결과: Helm 설치 및 버전 확인 완료 ✅ ✅ Helm 차트 생성 chart/ 디렉터리가 생성되며 Chart.yaml, values.yaml, templates/ 등이 포함됨.values.yaml을 수정하..

[Kubernetes 배포 환경 구축] GCP Docker 이미지 빌드

GCP Artifact Registry를 활용한 Docker 이미지 빌드 및 업로드이번 블로그에서는 Google Cloud Platform(GCP)의 Artifact Registry를 활용하여 Docker 이미지를 빌드하고 업로드하는 과정을 정리합니다.    GCP Artifact Registry 저장소 생성먼저 Docker 이미지를 저장할 GCP Artifact Registry를 생성합니다.GCP 콘솔에서 Artifact Registry → 저장소 만들기를 클릭저장소 이름을 docker로 설정하고, 유형을 Docker 컨테이너로 선택저장소 위치를 asia-northeast3(서울)로 지정저장소 생성 완료 후, GCP에서 컨테이너를 저장할 수 있는 환경이 구성됨 . IAM 권한 설정저장소를 생성한 후 사..

[Kubernetes 배포 환경 구축] Kubernetes 클러스터 생성

현재(AS-IS) 배포 환경을 나타낸 다이어그램으로, 서버와 Google Cloud Storage 간의 연동 구조를 보여준다. 서버에서는 Docker 컨테이너를 사용하고 있으며, 사용자는 서버에 접근하여 서비스를 이용한다.서버에서 Google Cloud Storage와 데이터를 주고받는 구조이다.현재 배포 환경의 문제점으로 On-premise 리소스 부족, Docker Container 관리 한계, Container Registry 부재가 언급되어 있다. 현재 배포 환경은 온프레미스(로컬 서버)에서 애플리케이션을 실행하고, Google Cloud Storage(GCS)를 데이터 저장소로 활용하는 하이브리드 구조입니다.문제점온프레미스 리소스 부족로컬 서버의 성능이 제한적이며, 트래픽 증가 시 확장(Scal..

Cloud Storage 기반 모델 관리 - 라이브러리 패키지

이번 포스트에서는 GitLab에 등록된 MLOps 라이브러리를 업데이트하고, 이를 Docker 환경에서 실행하는 과정을 다룹니다.  ✅ 라이브러리 개발 및 GitLab에 배포 ✅ Personal Access Token(PAT) 발급 및 활용 ✅ GitLab에서 직접 pip install✅ Docker 컨테이너에서 라이브러리 포함하여 실행  라이브러리 개발 및 GitLab 배포라이브러리 프로젝트 구조mlops-library/│── mlopslib/│ ├── __init__.py│ ├── model_utils.py # ML 모델 관련 기능│ ├── gcs_client.py # GCP 스토리지 클라이언트│── example_model_upload.py│── setup.py│── README.m..

GCP Cloud Storage 기반 모델 관리

MLOps에서 머신러닝 모델을 효과적으로 관리하는 것은 중요한 과제입니다. 특히, 여러 AI 엔지니어가 협업하는 환경에서는 **클라우드 스토리지(Google Cloud Storage, GCS)**를 활용한 모델 저장 및 배포가 필수적입니다. 이번 포스트에서는 GCS를 이용해 AI 모델을 업로드하고 관리하는 방법을 소개합니다. 이번 프로젝트는 AI 엔지니어가 로컬에서 학습한 모델을 GCS에 업로드하고, AI 서비스에서 해당 모델을 다운로드하여 사용할 수 있도록 하는 시스템을 구축하는 것이 목표입니다.AI 엔지니어가 모델을 업로드하면 GCS에 저장됨AI 서비스는 GCS에서 모델을 다운로드하여 활용이를 위해 Python과 Google Cloud SDK를 활용한 자동화 스크립트를 구현GCS 버킷 설정Google..

AI API Service

🚀 FastAPI 기반 MLOps 모델 서빙 구현  from contextlib import asynccontextmanagerfrom fastapi import FastAPIfrom simplet5 import SimpleT5from pydantic import BaseModelclass Input(BaseModel): text: str="""summarize: Twitter’s interim resident grievance officer for India has stepped down, leaving the micro-blogging site without a grievance official as mandated by the new IT rules to address complaints f..

MLOps CI/CD 자동화: 모델 개발부터 배포까지

MLOps 수준 2: CI/CD 파이프라인 자동화 구현**머신러닝 운영(MLOps)**은 모델을 개발하는 것뿐만 아니라 자동화된 데이터 처리, 모델 훈련, 배포 및 모니터링까지 포함하는 개념입니다. 이 중에서도 CI/CD(Continuous Integration/Continuous Deployment) 파이프라인은 모델 개발 및 배포 프로세스를 효율적으로 자동화하는 핵심 요소입니다. 📌 CI/CD 파이프라인이란?CI/CD는 소프트웨어 개발에서 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment)를 의미하며, 머신러닝에서는 데이터 및 모델 업데이트를 자동화하는 역할을 합니다. 이를 통해 모델이 새로운 데이터에 빠르게 적응하고, 배포된 모델을 지..