목록전체 글 (27)
Tech Blog
virtual box 터미널을 처음 사용할 때 복붙이 안 되길래 짧은 명령어들은 직접 작성했는데, 길고 긴 명령어들을 일일이 터미널에 써야하는 상황이 생겼습니다. 이렇게 외면하고 있다가 긴 명령어를 보고 복붙 기능을 활성화시켜야겠다고 다짐하였습니다. Virtual Box 내에서 양방향 [복사-붙여넣기], [공유 폴더], [드래그 & 드롭] 을 사용하기 위해서는 게스트 확장을 설치해야합니다. ▪️ 1) 가장 간단한 방법 상단 [장치] - [게스트 확장 CD 이미지 삽입] 을 클릭하면 설치할 수 있습니다. 해당 버튼을 누르면 설치 팝업이 떠야한다고 하는데, 저는 계속 눌러봐도, 광학 디스크를 꺼내보고 다시 눌러봐도 아무 반응이 없었습니다. ▪️ 2) 직접 다운로드 받아서 삽입하기. https://downlo..
지난 글에서 살펴보았던 Kubernetes는 컨테이너화된 애플리케이션을 배포 및 관리하기 위한 오픈소스 컨테이너 오케스트레이션 플랫폼입니다. Minikube는 로컬 환경에서 단일 노드 Kubernetes 클러스터를 실행하기 위한 도구입니다. Minikube를 사용하면 로컬 환경에서 Kubernetes를 학습하고 익힐 수 있으며, 개발 및 테스트용 애플리케이션을 빠르게 배포할 수 있습니다. 또한, 로컬 환경에서 동작하는 애플리케이션을 Kubernetes에 배포하기 전에 테스트하고 문제를 해결할 수 있는 편리한 환경을 제공합니다. minikube로 kubernetes를 사용하기 위해 minikube와 kubectl을 설치해주어야 합니다. 본 글에서는 두 가지를 설치하는 과정을 정리합니다. 1. minikub..
수많은 컨테이너들을 정해진 룰에 따라 관리해주는 기술이 컨테이너 오케스트레이션이며, 그 중에서 가장 핫한 기술이 쿠버네티스입니다. 쿠버네티스는 설치가 어렵고, 운영, 모니터링하면서 이슈가 생기면 해결하기 복잡하며, 기술적인 도전이 많이 필요한 기술입니다. 따라서 아마존 eks, 구글 쿠버네티스 엔진, 에져 쿠버네티스 서비스와 같이 쿠버네티스를 감싼 관리형 서비스를 제공하여 사용자는 설치에 대한 어려움 없이 사용료만 지불하면 사용하는데만 신경쓸 수 있습니다. 간단한 실습을 하기에는 유료 서비스를 사용하기에도 부담이 될 수 있기 때문에 이미 많이 나와있는 오픈소스 프로젝트들을 활용할 수 있습니다. (minikube, k8s, k3s) 그 중에서도 minikube를 사용하여 앞으로의 실습을 진행해보도록 하겠습..
1️⃣ Docker Image란? Docker Image는 어떤 애플리케이션에 대해서, 단순히 애플리케이션 코드 뿐만이 아니라, 그 애플리케이션과 dependent한 모든 것을 함께 패키징함으로써 어느 운영체제, 환경에서든지 실행해볼 수 있도록 만든 데이터입니다. 예를 들어, sklearn 패키지에서 svm 분류 모델을 파이썬 코드로 작성하였을 때, 파이썬 소스코드를 전달하는 것이 아니라 여기서 사용된 파이썬 버전이나, 패키지 (sklearn, numpy, pandas 등) 의 버전을 패키지화 하여 어디서든지 동일한 결과를 얻을 수 있도록 만드는 것입니다. 이번 글에서는 (1) 머신러닝 코드를 담은 도커 이미지를 만드는 방법은 무엇인가? (2) 이를 다른 사람들과 공유할 수 있는 방법은 무엇인가? 이 두..
2023. 02. 22 패스트캠퍼스 강의 정리 1️⃣ Docker의 기본 명령어 들어가기에 앞서 명령어에 대한 설명을 보고싶을 땐 [명령어 --help] 와 같이 작성하여 도움말을 확인할 수 있습니다. 1) docker pull docker image repository로부터 Docker image를 가져오는 커맨드입니다. docker pull ubuntu:18.04 예를 들어, 태그가 18.04인 우분투 이미지를 다운받고 싶을 때 사용하는 명령어입니다. Public하게 공유되어있는 도커허브라는 곳에서 우분투 이미지를 받게 됩니다. 더 자세히 말하자면 docker.io/library 라는 이름의 repository에서 ubuntu:18.04라는 image를 다운로드받는 것입니다. 이렇게 public한 레..
2023. 02. 21 패스트캠퍼스 강의 정리 1️⃣ Why Docker ? 도커에서 제공하는 패키징 방식을 통해서 하나의 어플리케이션이 dependent 한 모든 것들을 하나로 묶은 도커 이미지로 빌드함으로써, 어떤 환경에서든지 동일하게 실행시킬 수 있게 됩니다. 예를 들어, 머신러닝 코드가 도커라이즈 되어있다면, 어떤 환경에서 개발했든지 간에 그 정보와 관련된 것들이 도커 이미지에 저장 되어있기 때문에 어디서든지 동일하게 실행시킬 수 있고, 동일한 결과를 얻을 수 있습니다. 본인이 로컬에서 작성한 머신러닝 코드를 다른 환경의 로컬에서 실행시킨다면, 버전 충돌이 일어나는 것은 흔한 일입니다. 도커를 사용함으로써, 더이상 환경에 구애받지 않고 버전을 새로 맞출 필요 없이 코드 실행이 가능해진다는 장점이 ..
2023. 02. 20 패스트캠퍼스 강의 정리 1️⃣ MLOps의 도입 MLOps는 ML + DevOps 의 줄임말을 나타낸 용어입니다. 여기서 DevOps 는 시스템 개발 (Development) 과 운영 (operation)을 결합한 방법론입니다. MLOps는 위의 설명글에 나와있는 것과 같이 속도, 안정성, 확장, 보안 등 여러 방면에서 이점을 갖고 있는 DevOps를 ML에 적용시킨 것을 말합니다. 한줄로 정의하면 Machine Learning을 효율적으로 개발하고, 성공적으로 서비스화하고 운영할 때 필요한 모든 것을 다루는 분야라고 할 수 있습니다. 버전관리 (데이터 버전 관리 / 모델 버전 관리) - 테스트 자동화 (모델 학습 자동화 / 모델 성능 평가 자동화) - 모니터링 (서빙 모델 모니터..