MLflow로 Model LifeCycle 관리
·
MLOps
1. Why mlflow 이 그림을 엄청 많이 봤다. 이 그림을 통해 보통 하고자 하는 말은 ML 시스템을 운영하기 위해 ML Code 이외에도 다양한 컴포넌트가 많다는 것이다. 하지만, 머신러닝 애플리케이션에서 가장 핵심적인 컴포넌트는 모델이라고 생각한다. 이 핵심적인 "모델"이 어떻게 학습되었고 어떻게 저장되었으며 어떻게 배포되어 있는지 이를 제일 잘할 수 있도록 설계된 툴이 MLflow가 아닐까. 2. What we need mlflow의 설명을 보자, "An open source platform for the machine learning lifecycle". 모델의 모든 생애주기 관리하기 위한 플랫폼으로서 mlflow는 발전하고 있다. 그렇게 된다면 유지관리가 엄청 편해지겠지만 그렇기엔 아직 성..
Terraform variables.tf로 코드 반복 줄이기
·
ETC
1. 왜 불편하게 살았는가? 할 일들은 많고 시간은 한정되어 있다. 그렇기 때문에 나의 리소스를 어떻게 할당해서 사용하느냐는 너무너무 중요한 문제임을 느끼고 있다. 또한, 회사의 규모와 문화에 따라 특정 직무가 수행하는 "일반적인 일"이 달라지기도 하고 추가로 다른 직무의 일도 하기도 한다. 나에게 Terraform 코드를 관리하는 일이 조금 그러했다. 담당하는 MS에 필요한 데이터독 Integration, Monitor, Metric 등의 리소스를 관리해야 했다. 이를 잘 관리하기 위해선 HCL 언어에 대한 이해도 필요하고 CI / CD도 필요하고 PR 정책 등도 필요하겠지만 많은 시간을 투자하지 않았다. 이게 허용이 되는 기준은 "운영상의 문제가 없는 한" 이라고 생각한다. 운영상의 문제가 있을 것이..
Helm 빠르게 시작하기
·
Kubernetes
1. Helm 이란 Helm의 정의를 CircleCI 블로그에서 가져왔다. Helm은 설정 파일을 하나의 재사용 가능한 패키지로 결합하여 Kubernetes 애플리케이션의 생성, 패키징, 설정, 배포를 자동화하는 도구입니다. 내가 생각하는 Helm의 핵심 기능은 "패키징"이라고 생각한다. 패키지를 만들고 잘 만들어둔 패키지는 다양한 곳에서 사용할 수 있다. 마치 만능 양념장과 같다. 쿠버네티스 스터디 중 "Helm을 언제 사용하는 건지 이해가 안되니 개념도 이해가 잘 안 된다"라는 이야기를 하신 분이 있었다. 그에 대한 대답으로 나는 "필요하다고 느껴질 때 사용하게 될 것이다"라고 생각한다. nginx 웹 서버를 하나를 쿠버네티스에 배포한다고 해보자. 그러면 일반적으로 Deployment 리소스를 생성할..
쿠버네티스 설치 in local
·
Kubernetes
개인 로컬 환경에서 손쉽게 쿠버네티스 환경을 구성할 수 있는 방법을 알아보자. Steps Docker Desktop 설치 Kubernetes 사용 설정 Pod 생성해 보기 1. Docker Desktop 설치 Docker Desktop은 도커 환경을 쉽게 구성할 수 있게 도와주는 데스크톱 애플리케이션이다. 도커 설치법을 찾아보면 대게 Docker Desktop 설치가 가이드된다. 도커 데스크톱은 도커의 핵심이 되는 도커 엔진에 그리고 도커를 쉽게 사용하기 위한 GUI 툴 정도라고 이해하고 있다. Docker Desktop = Docker Engine + 이외의 유용한 기능들 이외의 유용한 기능들에 Kubernetes 클러스터를 구성할 수 있게 도와주는 게 포함되어 있다! Docker Desktop 설치 ..
kubectl과 kubectx 그리고 OpenLens
·
Kubernetes
Kubernetes를 Control 하기 위한 kubectl과 클러스터를 쉽게 전환하기 위한 kubectx를 알아보자. Steps kubectl kubectx OpenLens 1. kubectl kubernetes control의 준말이라고 알고 있고 나는 kube control이라고 부른다. 말 그대로 쿠버네티스를 컨트롤하기 위한 도구이다. 그리고 CLI 툴이다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼 뜬금없이 쿠버네티스의 정의를 가져왔지만 우리는 kubectl을 통해 쿠버네티스가 할 수 있는 모든 일들을 할 수 있다. kubectl 설치로 이동하면 각 환경에 맞는 kubectl 을 설치할 수 있게 가이드되어 있다. 2. kubectx ..
[핵심만 콕! 쿠버네티스] Chapter 2. 쿠버네티스 소개
·
ETC
2.1. 쿠버네티스란? 쿠버네티스는 여러 서버로 구성된 클러스터 환경에서 컨테이너화된 프로세스를 관리하기 위한 컨테이너 오케스트레이션 플랫폼 컨테이너 오케스트레이션 컨테이너를 여러 서버에 걸쳐 여러 개를 실행시키는 데 체계적으로 관리하는 기술 쿠버네티스를 통해 컨테이너 배포 확장 스케줄링 자동화 2.1.1. 컨테이너 오케스트레이션이란? 다수의 서버 위에서 컨테이너의 전반적인 라이프사이클을 관리해주는 플랫폼 쿠버네티스를 컨테이너 오케스트레이션을 해주는 하나의 툴 일뿐임 쿠버네티스는 컨테이너의 아래 역할들을 함 실행 및 배포 이중화와 가용성 보장 수평확장 및 축소 스케줄링 네트워크 설정 health 상태 모니터링 설정값 관리 2.1.2. 데이터 센터 운영체제 쿠버네티스가 여러 컴퓨터의 집합으로 이루어진 하나..
[핵심만 콕! 쿠버네티스] Chapter 1. 도커 기초
·
ETC
Chapter 1. 도커 기초 [핵심만 콕! 쿠버네티스] 도서를 정리한 내용입니다. 목차 [1.1. 도커 소개](##1.1. 도커 소개) [1.2. 도커 기본 명령](##1.2. 도커 기본 명령) [1.3. 도커 저장소](##1.3. 도커 저장소) [1.4. 도커 파일 작성](##1.4. 도커 파일 작성) [1.5. 도커 실행 고급](##1.5. 도커 실행 고급) [1.6. 마치며](##1.6. 마치며) 1.1. 도커 소개 도커는 가상실행 환경을 제공해주는 오픈소스 플랫폼 컨테이너 가상 실행 환경 도커 플랫폼이 설치된 곳이면 어디서든 실행할 수 있음 도커의 장점 표준화: 프로세스가 어떠한 방식으로 작동하든 상관없이 동일한 형식으로 프로세스를 실행 및 관리할 수 있음 이식성: 어디서 어떻게 만들어졌는지 상..
Black와 Isort를 위한 VSCode settings.json
·
Python
Python 개발을 할 때, 코드를 가독성 있게 정리하는 것은 매우 중요합니다. 이를 위해 Black와 Isort를 함께 사용하여 코드를 자동으로 정리하는 방법을 알아보겠습니다. Black와 Isort를 함께 사용하기 위한 가이드가 있지만 Black을 설정하니 Isort가 설정되지 않고 Isort를 설정하니 Black이 설정되지 않는 문제가 있어 기록을 위해 포스팅합니다. 1. Black와 Isort 패키지 설치 터미널을 열고 아래와 같이 명령어를 입력하여 Black와 Isort 패키지를 설치합니다. pip install black isort 2. settings.json 파일 수정 VS Code에서 Command + Shift + P를 입력한 뒤 검색 창에 "Settings.json"를 입력하고, "O..