전체 글
-
MLOps 핵심 정리: 모델 개발부터 배포·모니터링까지머신러닝 2026. 10. 24. 16:16
모델의 점수가 높다고 해서 좋은 머신러닝 서비스가 완성되는 것은 아니다. 실제 서비스에서는 데이터를 안정적으로 공급하고, 같은 실험을 다시 실행하고, 모델을 안전하게 배포하고, 시간이 지나도 품질을 확인할 수 있어야 한다.이 글은 Machine Learning Platform Engineering Study의 학습 내용을 바탕으로, MLOps가 무엇을 관리하며 머신러닝 프로젝트가 어떤 과정을 거치는지 정리한 글이다. 고객 이탈 예측을 예로 들어 각 단계가 어떻게 연결되는지 살펴본다.1. MLOps는 무엇을 관리할까?MLOps는 머신러닝 모델을 개발하고 운영하는 과정을 반복 가능하고 신뢰할 수 있게 만드는 방식이다. 학습 코드뿐 아니라 데이터, 실험, 모델 파일, 배포 환경, 운영 지표를 함께 다룬다.예를..
-
[ML Platform Engineering Study] MLOps 모델 개발부터 운영까지머신러닝 2026. 10. 24. 15:38
Machine Learning Platform Engineering Study 학습 정리머신러닝 모델을 만들고 예측 성능까지 확인했다면, 다음 과제는 이 모델을 실제 서비스에서 안정적으로 사용하는 것이다.서비스를 운영하다 보면 학습할 때와 다른 데이터가 들어오고, 요청이 갑자기 몰리기도 한다. 시간이 지나면서 모델의 예측 성능이 떨어질 수도 있다. 이런 변화에 대응하려면 무엇을 준비해야 할까?이 글은 Machine Learning Platform Engineering Study에서 배운 내용을 바탕으로, 모델 개발부터 배포와 운영까지의 흐름을 정리한 것이다. 사기 탐지 모델을 예로 들어 각 단계에서 해야 할 일과 이를 돕는 플랫폼 구성요소를 살펴본다.이 글의 핵심 질문좋은 모델을 한 번 만드는 데서 나아..
-
MLOps 필수 사전 지식머신러닝 2026. 10. 23. 21:11
MLOps는 머신러닝 모델을 만들고, 실제 서비스에서 안정적으로 사용할 수 있도록 관리하는 일이다. 그런데 모델을 운영하려면 먼저 “모델이 어떻게 배우고, 배운 것을 어떻게 사용하는지”를 알아야 한다.이 글에서는 고양이와 개를 구분하는 모델을 예로 들어 머신러닝의 기본 개념을 살펴본다. 이후 LLM과 MLOps가 이 과정에 어떻게 연결되는지 정리한다. 1. 머신러닝고양이 사진을 구분하는 프로그램을 만든다고 생각해 보자. 사람이 “귀가 뾰족하고 수염이 있으면 고양이”라는 규칙을 직접 작성할 수도 있다. 하지만 사진마다 자세와 배경이 다르고, 개도 비슷한 특징을 가지고 있어 모든 경우를 규칙으로 표현하기는 어렵다.머신러닝(Machine Learning, ML)은 다른 방법을 사용한다. 고양이와 개의 사진을 ..
-
Thanos compactor error: pre compaction overlap check: overlaps found while gathering blocksTrouble Shooting 2024. 3. 3. 09:52
Thanos compactor를 사용하다보면 종종 다음과 같은 error를 마주할 수 있다. level=error ts=2018-08-08T14:49:50.954091484Z caller=main.go:160 msg="running command failed" err="compaction: pre compaction overlap check: overlaps found while gathering blocks. [mint: 1532649600000, maxt: 1532656800000, range: 2h0m0s, blocks: 2]: , \n[mint: 1532685600000, maxt: 1532692800000, range: 2h0m0s, blocks: 2]: , \n[mint: 15326136000..
-
쿠버네티스 Image HardeningK8S 2024. 1. 16. 22:14
쿠버네티스에 한정된 이이기는 아니긴 한데... 이미지를 빌드할때 알아두면 좋은 내용들이다. 당연할 수 있지만, 나중에 또 알아보기 귀찮아서 정리해놓는다. 이미지 하드닝의 중요 전략들 1. Multi-Staging 빌드 사용하기 2. 패키지 특정 버전 사용하기 3. Root로 실행시키지 않기 4. Filesystem은 Read Only로 만들기 5. Shell Access 삭제하기 1. Multi-Staging 빌드 사용하기 멀티 스테이징 빌드를 사용하여 불필요한 파일들이 이미지에 포함되지 않게끔 한다. 이미지의 크기가 줄어들면, container를 더욱 portable하게 사용할 수 있다. FROM ubuntu ARG DEBIAN_FRONTEND=noninteractive RUN apt-get updat..
-
Kubernetes NodeRestriction 플러그인K8S 2023. 12. 30. 14:06
쿠버네티스 클러스터의 보안을 강화하는 데 있어서 NodeRestriction 어드미션 컨트롤러는 필수적인 요소다. 이 기능은 클러스터 내의 노드 간 상호작용을 엄격하게 제어하여 보안 위험을 줄일 수 있다. NodeRestriction 어드미션 컨트롤러의 역할 기본적으로 kube-apiserver에서 --enable-admission-plugin 옵션을 통해 NodeRestriction이 활성화되어 있는 것을 확인할 수 있다. 이 설정은 노드가 할당되지 않은 리소스에 대한 접근을 제한하여 클러스터의 보안을 강화하는 것이다. NodeRestriction를 사용하지 않았을 때 발생할 수 있는 취약점 워커 노드 kubelet 권한을 활용한 공격 발생 가능 - 워커 노드에서 kubelet의 인증 권한을 사용하여 ..
-
Kubernetes API 이용해서 사용자 인증서 및 Context 만들기K8S 2023. 12. 30. 10:24
이번 포스팅은 Kubernetes API를 이용해서 사용자나 서비스에 대한 인증 정보를 생성하고 설정하는 과정에 대해서 다룬다. 수동으로 설정하는 방법은 다음 포스팅을 참고한다. Kubernetes에서 수동으로 사용자 인증서와 Context 만들기 이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다. 1. 사용자 키 생성 사용자의 개인 키를 생성하기 seungjuitmemo.tistory.com 1. 사용자 키 생성 사용자의 개인 키를 생성하기 위해 OpenSSL을 사용한다. 이 키는 사용자의 인증서를 생성하는 데 사용된다. openssl genrsa -out test-user.key 2. CSR(인증서 서명 요청) 생성 생..
-
Kubernetes에서 수동으로 사용자 인증서와 Context 만들기K8S 2023. 12. 29. 19:23
이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다. K8S API를 통해 사용자 인증서를 생성하는 방법을 알고 싶다면, 다음을 참고한다. Kubernetes API 이용해서 사용자 인증서 및 Context 만들기 이번 포스팅은 Kubernetes API를 이용해서 사용자나 서비스에 대한 인증 정보를 생성하고 설정하는 과정에 대해서 다룬다. 수동으로 설정하는 방법은 다음 포스팅을 참고한다. Kubernetes에서 수동으 seungjuitmemo.tistory.com 1. 사용자 키 생성 사용자의 개인 키를 생성하기 위해 OpenSSL을 사용한다. 이 키는 사용자의 인증서를 생성하는 데 사용된다. openssl genrsa -..