주녁, DevNote
article thumbnail
Kubeflow 라이징 - BentoML로 Model Serving하기
DevOps 2023. 4. 1. 11:04

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 ML 모델을 관리하고 배포하는 과정을 이해한다. ML Serving 프레임워크인 Bento와 Kubernetes 배포를 도와주는 Yatai Stack을 이해한다. 여정 BentoML 및 Yatai Stack의 개념 Yatai Stack의 주요 컴포넌트 Bento : ML 모델을 API로 호출할 수 있도록 감싼 소스코드 집합(tar파일 O, 컨테이너 X) Yatai : 모델 및 Bento를 Object Storage에 저장하는 Registry 관리 대시보드 컴포넌트 Yatai Image Builder : Bento를 컨테이너 이미지로 빌드하는 컴포넌트 Yatai Deployment : Bento 컨테이너 이..

article thumbnail
Secure K8S - RBAC 설정을 통한 멀티 클러스터 환경 분리
DevOps 2023. 3. 12. 14:00

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 멀티 클러스터의 필요성을 이해한다. RBAC(Role-based access control)를 통해 클러스터 환경분리를 실습해본다. 여정 멀티 클러스터가 필요한 이유 현대 개발조직은 개발, 테스트, 프로덕션 등을 위해 환경 전반에 분산된 복수개의 클러스터를 보유하고 있다. 이러한 엔터프라이즈 환경에서는 테넌트(Tenant, 조직에 속한 개별 팀)들이 작업 부하를 공유한다. 때문에, 다른 테넌트(혹은 악의적인 테넌트)에 의해 단일 실패 지점이 생길 수 있게 된다. 따라서, 다중 테넌트 클러스터의 운영자는 각 테넌트를 격리하여 한 테넌트가 해킹을 당하거나 악의적인 행동을 할 때, 다른 테넌트와 클러스터가 입는..

article thumbnail
Kubeflow 라이징 - Kiali로 Service Mesh 모니터링하기
DevOps 2023. 3. 10. 19:00

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 Istio Service Mesh를 모니터링하기 위한 도구인 Kiali를 설치해보자 이 부분은 ML Ops와 크게 관련 없는 내용이므로 Service Mesh 모니터링이 필요없다면 생략해도 좋다. 여정 Istio 단독 설치 # 스크립트를 통해 Istio 다운로드 mkdir istio cd istio curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.17 TARGET_ARCH=x86_64 sh - # 명령어 등록 vi ~/.bashrc export PATH="$PATH:.../istio/istio-1.17.1/bin" source ~/.bashrc # Is..

article thumbnail
아시나요? 웹서버와 WAS, 그리고 Nginx
Do you know? 2023. 3. 9. 00:27

지적과 댓글은 언제나 환영합니다! 이 포스팅은 [10분 테코톡] 🤫 피케이의 Nginx - YouTube 내용을 텍스트로 옮기고 살을 덧붙였습니다. 관련 내용 원문은 영상을 보시는 것을 추천드립니다! 개요 웹 서버와 WAS의 차이점이 무엇인가요? NginX, Apache Server, Apache Tomcat, Jetty, Netty, Undertow 등 웹 생태계에 발을 들이다보면, 다양한 종류의 웹 서버와 WAS 종류를 들어봤을 것이다. 하지만, 정확하게 웹 서버와 WAS(Web Application Server)의 역할을 설명하려고 했을때 말문이 막혔거나 멈칫했던 경우가 있다면 오늘 같이 짚고 넘어가보도록 하자. 목표 웹서버와 WAS의 역할과 차이점을 이해한다 주로 사용되는 Nginx, Apache..

article thumbnail
Kubeflow 라이징 - Kubeflow 설치 및 대시보드 접속
DevOps 2023. 3. 4. 13:00

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 kubeflow의 개요와 설치방법을 정리한다. 여정 Kustomize 설치 Kustomize는 kustomization 파일을 통해 쿠버네티스 오브젝트를 사용자가 원하는 대로 변경하는(customize) 독립형 도구이다. kubectl 1.14 버전 이상부터 내장되어 apply -f 명령으로 바로 사용할 수 있다. 현재 3.2.0 or 4.5.7버전이 사용가능하며, 4.5.7버전은 간편 설치용 싱글 커맨드를 사용할 수 없다. # Kustomize 설치 및 명령어 등록 wget https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/i..

article thumbnail
Kubeflow 라이징 - GPU 워커노드 환경 구성
DevOps 2023. 3. 2. 19:45

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 CentOS 7 기준 GPU 관련 환경을 구성해본다. GPU를 이용한 기본적은 Pod Deploy를 진행해본다. 여정 워커노드에 Graphic Driver 설치 # driver init # 리눅스 버전 확인 sudo uname -a sudo hostnamectl cat /etc/redhat-release sudo yum update -y sudo yum group install -y "Development Tools" # "Development Tools" - 개발 툴 라이브러리 그룹 설치 sudo yum install -y kernel-devel # kernel-devel - 커널패키지 대해 빌드를 모듈..

article thumbnail
Kubeflow 라이징 - ML Ops와 Service Mesh 훑어보기
DevOps 2023. 2. 24. 18:57

개요 Kubeflow를 통해 ML Ops 생태계를 이해하고, 전 주기 파이프라인를 구성해본다. 목표 Kubeflow와 Service Mesh의 개념을 학습하고, 어떤 관계를 가지는지 알아보자. 여정 ML Ops와 Kubeflow ML Ops 프로덕션 환경에서 ML 모델을 안정적, 효율적으로 배포 및 유지 관리하는 방법론 ML 시스템 개발(Dev)과 ML 시스템 운영(Ops)의 합성어 Kubeflow 머신러닝 워크플로우를 구축하고 배포하기 위한 Orchestration 플랫폼 쿠버네티스를 사용하는 머신러닝 도구 모음(Toolkit) 크게 모델 실험 → 모델 생산 의 과정으로 이루어져 있다. Kubeflow 는 ML 관련 프레임워크, 도구, 서비스의 집합이다. 따라서, 이러한 환경을 연결하기 위해서는 Ser..

article thumbnail
CI/CD Pipeline - 클러스터에 Private 저장소 이미지 배포하기
DevOps 2023. 2. 23. 01:04

개요 CI/CD를 위한 Pipeline 구성을 단계별로 학습한다. 목표 Gitlab의 Private Container Registry에서 이미지를 Pull & Deploy하는 과정을 학습한다. (더 자세한 내용은 공식문서와 참고자료를 확인하자) 여정 토큰 생성 깃랩 Repository에서 Settings > Repository > Deploy tokens 체크박스에서 필요한 권한을 Check한다(주로 Read 권한만 필요) 토큰 생성 결과는 한번만 확인할 수 있으므로 잘 저장해두자. 클러스터에 적용하기 간단한 방법 # 방법1 - Inline Command # Gitlab은 registry.gitlab.com을 넣는다. kubectl create secret \ docker-registry ${secret..

article thumbnail
CKA 뽀개기 - Application Multi Container Issue
DevOps 2023. 2. 21. 08:30

개요 CKA 공부를 위해 KillerCoda 사이트 문제를 풀이한다. 목표 Container가 여러대일때 발생할 수 있는 문제와 설정을 변경하여 장애를 복구한다. 여정 Gather logs 에러가 발생한 모든 컨테이너의 로그를 '/root/logs.log' 위치에 작성하라. # 전체 리소스 확인 k get all -A # 특정위치에 에러를 모아야 하므로 로그 수집 # -c : 특정 컨테이너의 로그만 보여줌 k logs deploy/collect-data -n management -c nginx >> /root/logs.log k logs deploy/collect-data -n management -c httpd >> /root/logs.log Fix the Deployment management 네임스..

article thumbnail
CKA 뽀개기 - Application Misconfigured
DevOps 2023. 2. 20. 08:30

개요 CKA 공부를 위해 KillerCoda 사이트 문제를 풀이한다. 목표 Application Deployment 설정을 변경하여 장애를 복구한다. 여정 Deployment is not coming up, find the error and fix it # 모든 리소스 확인 k get all -A # deployment 에러 확인 k describe deploy app -n application1 ... CATEGORY: # 모든 configmap 확인 # 'category'라는 configmap은 없다 k get cm -A # configmap 상세 확인 # configmap-category에는 'category'라는 key는 있다. k describe cm configmap-category # dep..