인공지능 개발자 수다(유튜브 바로가기) 자세히보기

MLOps

쿠버네티스(Kubernetes)란! 왜 사용하는 것일까?

Suya_03 2024. 3. 19. 01:29

목차

    반응형

    1. 쿠베너티스란

    • 쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 플랫폼.
    • 컨테이너화된 애플리케이션을 여러 서버 환경에서 운영할 수 있게 해주며, 고가용성, 확장성, 무중단 서비스를 실현할 수 있도록 지원
    • 쿠버네티스는 컨테이너를 클러스터 내의 다양한 물리적 또는 가상 머신에 자동으로 배치하고, 애플리케이션의 상태를 모니터링하여 정의된 상태를 유지하도록 관리
    • 오케스트레이션(Orchestration) 도구로 다수의 컨테이너나 마이크로서비스, 가상 머신 등을 효율적으로 배치하고, 관리하며, 조정하는 과정을 포함

    2. 특징

    • 자동화된 배포
    • 확장성
    • 로드 밸런싱
    • 운영을 더욱 신속하고 안정적

    3. 자주 사용하는 컨테이너의 용도

    • 마이크로서비스 아키텍처
    • 배치 처리 (Airflow, kubeflow)
    • 머신 러닝 / 딥러닝 (FastAPI)
    • 데이터베이스 및 캐싱 시스템 (Mysql, Postgresql 등등)
    • CI/CD 파이프라인 (Jenkins)
    • 웹 애플리케이션 (백엔드, 프론트엔드)

    추가로 고려할만한 것들

    • mlflow를 활용한 머신러닝 실험 대시보드
    • 데이터 분석 및 실험(jupyterlab 서버)
    • 시각화(Tableau 서버) 

    4. 결론 

    • 실제 프로젝트를 진행 할 때, 잘 알아두고 있다면 아주 강력한 도구가 될 것이다. 특히 데이터사이언스 분야에서 배치처리와 CI/CD를 고려해 데이터를 수집해야 하는데, 쿠베너티스를 이용하면다면 쉽게 서버환경을 구축 할 수 있을 것이다.
    • 또한 실험환경과 데이터 시각화 등의 환경도 아주 손쉽게 구축할 수 있다.
    • 마지막으로 개발자가 이미 쿠베너티스를 사용하고 있다면 아주 손쉽게 딥러닝/머신러닝 서비스를 붙일 수 있는 강력한 도구이다.

     

    반응형