본문 바로가기

MLOps19

[Docker] permission denied while trying to connect to the Docker daemon socket at unix 오류 해결 이번 글에서는 Docker 권한 관련 오류의 해결 방법에 대해 살펴보겠습니다. 저는 minikube 실습을 위해, Windows에 먼저 Docker를 설치하고, 다음에 wsl을 위한 Ubuntu Linux를 설치한 상태였습니다. wsl에서 docker 관련 명령어를 실행하자 다음과 같은 오류가 발생하였습니다. $ docker images permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: pe.. 2023. 11. 10.
[Kubernetes] minikube 설치 및 실행 (Linux) 이번 글에서는 Linux 환경에서 minikube를 설치하고 간단하게 실행하는 방법에 대해 살펴보고자 합니다. 저번 글에서는 Windows 환경에서의 minikube 설치 과정에 대해 알아봤었습니다. 하지만 wsl 내에서는 minikube가 실행되지 않아, Linux 환경으로 재설치를 진행했습니다. Windows 환경의 minikube는 제어판을 통해 제거하실 수 있습니다. 1. minikube 설치 Windows와 마찬가지로 해당 링크(https://minikube.sigs.k8s.io/docs/start/)에서 설치 방법을 확인할 수 있습니다. Operating System에서 Linux를 선택하면, 설치 파일 대신 코드가 나옵니다. 두 라인의 코드를 그대로 실행해 주시면 됩니다. cmd 창에서 ws.. 2023. 11. 10.
[Kubernetes] Kubernetes 기초 이번 글에서는 Kubernetes의 기초에 대해 작성하고자 합니다. 해당 글은 Inflearn의 '대세는 쿠버네티스 [초급~중급]' 강의를 학습하면서 작성한 글임을 미리 알려드립니다. 우선 Kubernetes에 대해 간단하게 살펴보면, kubernetes는 단어가 길기 때문에 보통 짧게 k8s라고도 작성합니다. redhat에서는 kubernetes를 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼이라고 소개하고 있습니다. 보다 쉽게 설명하면, 여러 컨테이너를 효율적으로 관리할 수 있는 플랫폼이라고 생각해 주시면 될 것 같습니다. 그럼 강의 순서에 따라 kubernetes에 관한 내용을 설명하겠습니다. 1. Why Kub.. 2023. 11. 1.
[Kubernetes] minikube 설치 및 실행 (Windows) 이번 글에서는 Windows 환경에서 minikube를 설치하고 간단하게 실행하는 방법에 대해 살펴보고자 합니다. minikube는 로컬 환경에서 Kubernetes의 클러스터를 손쉽게 구성할 수 있도록 돕는 툴 중의 하나입니다. k3s라는 툴도 존재하지만, minikube를 보편적으로 사용하는 것 같아 minikube를 통해 진행하겠습니다. minikube를 설치하기 이전에 docker가 설치되어있어야 하므로, docker가 설치되지 않은 분은 docker 설치 관련 글(https://dslyh01.tistory.com/39)을 참고해 주시길 바랍니다. 1. minikube 설치 minikube는 다음 링크(https://minikube.sigs.k8s.io/docs/start/)에서 설치하는 것이 가.. 2023. 10. 27.
[Docker] 자주 사용하는 명령어 정리 이번 글에서는 Docker에서 자주 사용하는 명령어에 대해 정리하고자 합니다. 아직 업무에서 활발히 사용하지는 않기 때문에, 간단한 명령어들만 정리한 이후 계속해서 업데이트할 예정입니다. docker ps : Container 확인 명령어 -a : 해당 옵션 추가 시 stopped container까지 확인 가능 docker images : Image 확인 명령어 docker rm {Container ID} : Container 삭제 명령어 ,{Container ID}를 뒤에 붙이는 것을 통해 여러 개의 Container 삭제 가능 docker stop {Container ID or name} : Container 정지 명령어 docker rmi {Image ID} : Image 삭제 명령어 -f : 해.. 2023. 10. 20.
[MLflow] MLflow Timeout 오류 해결 이번 글에서는 MLflow에 저장된 모델을 불러올 때, Timeout 오류 발생 시 해결 방법에 대해 살펴보고자 합니다. 우선 저의 경우, 이전에는 문제없이 실행되던 코드가 어느 순간 다음과 같은 오류가 발생했습니다. mlflow.exceptions.MlflowException: The following failures occurred while downloading one or more artifacts from http://{ip}:{port}/api/2.0/mlflow-artifacts/artifacts/{experiment-id}/{run-id}/artifacts: {'model/data/model/variables/variables.data-00000-of-00001': "ChunkedEncod.. 2023. 10. 16.
[Docker] Windows에서 Docker 설치 (가상화 활성화) 이번 글에서는 Window에서 Docker를 설치하는 방법에 대해 살펴보겠습니다. 우선 Docs에 나와있는 개념에 대해 간단하게 살펴보면, Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 오픈소스 플랫폼입니다. Docker를 사용하면 애플리케이션과 인프라를 분리하여 소프트웨어를 신속하게 제공하고, 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있다고 설명하고 있습니다. 애플리케이션을 컨테이너로 실행하고 관리하는 프로그램이라고 생각해 주시면 될 것 같습니다. 데이터 분석가나 ML/DL Researcher라고 하더라도 Docker를 알아야 하는 경우가 많기 때문에 설치부터 차근차근 살펴보도록 하겠습니다. 해당 블로그의 글을 주로 참고하여 작성하였음을 미리 알려드립니다. 1. WS.. 2023. 9. 4.
[MLflow] MLflow (2) - 활용 이번 글에서는 저번 글인 MLflow에 대한 설명에 이어서 MLflow 활용에 대한 내용을 설명하고자 합니다. MLflow에 대한 설명이 궁금하신 분들은 이전 글을 읽어주시면 감사하겠습니다. MLflow의 구성요소에는 크게 1) MLflow Tracking, 2) MLflow Projects, 3) MLflow Models, 4) MLflow Registry, 네 가지가 존재합니다. 현재 실무에서는 2번인 MLflow Proejcts를 제외한 나머지를 사용하고 있기 때문에, 해당 요소들에 대해서만 다룰 것이고, Python 코드로는 어떻게 구현되는지 살펴볼 것입니다. 1. MLflow Tracking MLflow Tracking은 ML/DL 모델을 학습시키기 위해 활용했던 하이퍼 파라미터들을 비롯하여, .. 2023. 8. 2.
[MLflow] MLflow (1) - 설명 이번 글에서는 전반적인 머신러닝 Life Cycle을 관리할 수 있는 오픈소스 플랫폼, MLflow에 대해 설명하고자 합니다. MLflow에 대한 설명은 1) MLflow를 실무에서 어떠한 이유로 사용하게 되었는지, 2) MLflow의 기능에는 어떠한 것이 있는지, 3) 실무에서는 어떻게 활용하고 있는지 등 실무 적용을 위주로 설명하려고 합니다. 실무 위주로 설명하는 이유는 대부분의 MLflow 관련 글들이 간단한 예제만을 바탕으로 작성되어 있어, 막상 실무에 적용하려고 했을 때 추가적으로 검색해야 하는 부분이 많았기 때문입니다. 1. MLflow 활용 배경 제가 실무에서 활용하고 있는 AI 알고리즘은 주단위로 예측을 진행하여 모델 서빙까지 필요한 케이스는 아니었습니다. 하지만 딥러닝 모델을 가중치 파일.. 2023. 7. 21.