본문 바로가기

Data/MLOps

(32)
[MLOps] FastCampus 강의 정리 - 개념, DVC, MLFlow MLOps관련 분야를 공부하다가 패스트캠퍼스에서 개설된 수업이 있다하여 신청을 했다. 그에대해 도움이 되는 정보를 간략하게 정리하고자한다. ML프로젝트와 SW프로젝트의 유사성 버전관리 데이터 버전 관리 모델 버전 관리 테스트 자동화 모델 학습 자동화 모델 성능 평가 자동화 모니터링 서빙 모델 모니터링 데이터 변화 모니터링 시스템 안정성 모니터링 AI서비스와 일반 SW서비스의 차이점은 "데이터"의 차이이며, Andrew ng교수는 "모델보다는 데이터의 품질이 더 중요"하다고 강조했음 MLOps 구성요소 (+ 활용 툴) 데이터 데이터 수집 파이프라인(Sqoop, Kafka, Spark Streaming, Airflow ...) 데이터 저장 (MySQL, Haddop, S3 ...) 데이터 관리 (TFDV, ..
[Airflow] 성공, 실패시 Slack 전송 작업 [참고] https://moons08.github.io/programming/airflow-slack/ 작업중 마주한 문제 새로운 airflow 환경이 필요할때 ~/.bashrc에서 AIRFLOW_HOME을 원하고자하는 폴더 경로를 넣기 export AIRFLOW_HOME=$HOME/[원하는 경로] 아래와 같이 모듈을 Import 시켰으나 오류가 발생 from airflow.providers.slack.operators.slack import SlackAPIPostOperator 아래와 같이 pip install 모듈로 해결 pip install apache-airflow-providers-slack ---------------- Token을 넣어야하는데 어느 토큰을 넣어야하는지 정확하게 몰랐음 - OA..
[MLOps] CKA Mock Exam 틀린거 정리 Deployment에 serviceaccount 추가 pod과 동일하게 spec밑에 serviceaccountName 정보를 넣어줘야한다 spec: serviceAccountName: dashboard-sa Linux 명령어 관련 tr 명령어 tr [arg1] [arg2] : arg1을 arg2로 변환 - 출력에서 스페이스 대신 개행으로 출력이 필요하다면 : tr " " "\n" 으로 awk명령어 정확하게는 모르지만, arg1 arg2 arg3 이 있을때 arg2만 출력하고싶다면 awk '{print $2}' 로 활용 kubeconfig 파일 오류확인 방법 kubectl cluster-info --kubeconfig=CKA/super.kubeconfig kubeadm 으로 certification 만료했..
[MLOps] 시험 전 도움이 되는 정보, 명령어 정리 CKA 응시료 할인 쿠폰 많은 블로그에 응시료 할인 쿠폰들이 있다고해서 구글에 쳐서 살펴보았더니, 뿌리고있는 쿠폰들이 있었다. 나같은경우에는 15%할인 쿠폰을 찾아서 입력했다. 그냥 간단하게 구글에 CKA coupon이라고 치니까 제일 상단에 보였다. Context전환 kubectl config use-context [context 대상] -> context 대상으로 이동 kubectl config current-context -> 현재 내가있는 context 확인 -o=jsonpath= 아래와같이 node의 json파일이 있을때 kubectl 로 정보값을 뽑아낼수가 있다 kubectl get nodes -o=jsonpath='{.items[*].metadata.name}' >>> master node0..
[MLOps] Kubernetes CKA자격증 공부 - Troubleshooting Application Failure # 먼저 Application에 대해서 접속이 가능한지 확인 curl http://web-service-ip:node-port # 위에 에러가 나면 유저가 접속하기 위한 service를 확인 ## 이때 service의 Selector부분과 EndPoint가 옳바르게 대응되고있는지 확인필요함 kubectl describe service web-service # Pod 확인 kubectl get pod # 어떤 Pod이 떠있는지 확인하고 kubectl describe pod web # 특정 Pod에 대해 정보를 확인하고 kubectl logs web # Pod에서 출력되는 로그들을 확인한다 Port, TargetPort, NodePort 의 개념부족 NodePort - 외..
[MLOps] Kubernetes CKA자격증 공부 - Network (수정필요) 기본적인 네트워크 명령어 # 호스트에서 스위치로 연결, 그림 1(하나의 네트워크) # 존재하는 이더넷 ip link # 스위치에 IP정보값 등록 ip addr add 192.168.1.10/24 dev eth0 # 여러개의 네트워크를 연결하기 위해서는 라우터가 필요해짐, 그림 2 # 존재하는 라우터 route # B > C로가는걸 등록 ip route add 192.168.2.0/24 via 192.168.1.1 # C > B로 가는걸 등록 ip route add 192.168.1.0/24 via 192.168.2.1 # C > 모든 접속, default는 0.0.0.0으로 대체가능 ip route add default via 192.168.2.1 DNS 원래 모든 인터넷 주소는 ip로 이뤄져있지만, 기..
[MLOps] Kubernetes CKA자격증 공부 - Storage 이번주에 끝내야할 내용 Storage가 필요한 이유 - docker image위에 특정 파일을 작업하고 저장해두었고, 만일 어떤 일이 발생해서 쿠버네티스의 해당 컨테이너를 삭제를 하게된다면, 작업한 파일들도 다같이 날라가게 된다(따라서 기본적으로 컨테이너는 stateless 앱이라고함). 따라서 저장되는 파일에 대해서 특정 Storage에 저장해두고 작업하면, 컨테이너를 삭제해도 작업한 파일들은 온전하게 보관을 할수있음 Volumes 그렇다면 쿠버네티스에서는 이런 Storage를 어떻게 구현할까? 강의에서는 Pod을 예시로 Volume에 관련된 내용을 알려주었다. 컨테이너 안에 opt폴더안에 number.out이라는 파일을 생성했다고 할때 (args부분) 볼륨을 지정하기전에 해당 컨테이너가 삭제되면 생성..
[MLOps] Kubernetes CKA자격증 공부 - Security kube-apiserver는 모든 명령어가 거쳐가는 구역이라서 제일 보안에 신경 써야 하는 부분(?), 또한 모든 유저들의 명령어들은 kube-apiserver에서 허가된 사용자들의 명령어만 수행하게끔 작업 1. static password file 특정 유저군들의 아이디, 패스워드를 Csv파일 형식으로 저장해 놓은 다음, kube-apiserver.yaml파일에 해당 Csv파일을 지정해줌 # user-details.csv파일에 유저마다 패스워드 아이디가 적혀있음 --basic-auth-file=user-details.csv # 위와같이 적용하고, 이후에 특정 팟에 접근을 하려고하면 -u옵션으로 계정정보를 넣어줘야한다 curl -v -k https://localhost:6443/api/v1/pods -u..