일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Deployment
- asgi
- dockerfile
- IAM
- docker
- s3
- leetcode
- ansible
- AWS
- EC2
- WSGI
- YAML
- Python
- intervals
- Service
- EKS
- ebs
- IAC
- K8S
- POD
- 안드로이드
- asyncio
- 자바스크립트
- elasticsearch
- terraform
- event loop
- FastAPI
- github
- Kubernetes
- Django
- Today
- Total
목록DevOps (56)
궁금한게 많은 개발자 노트
쿠버네티스상에 서버나 앱서비스를 배포할 때, Persistent Volume을 마운트해야 하는 경우가 종종 있습니다. 이전에 쿠버네티스에서 Persistent Volume사용하기라는 글을 게시한 적이 있는데, 해당 게시글에서는 Persistent Volume으로 AWS EBS(Elastic Block Store)를 사용하였습니다. 이처럼 컨테이너화된 애플리케이션이 동작할 때 데이터 지속성을 위해 외부 Storage에 대한 액세스가 필요할 수 있습니다. 고가용성과 확장성을 보장하기 위해 EKS를 사용하고 S3를 외부 Storage로 사용한다면 다양한 환경에서도 원활하게 서비스를 제공할 수 있을 것입니다. 특히 MLOps환경에서 GenAI의 경우에는 매우 큰 LLM Model을 Container내부에 가져가..
쿠버네티스는 크게 Control Plane(Master node)과 Data plane에 속하는 Worker Node로 구성되어 있습니다. Pod가 생성되는 과정을 통해 전반적인 구조를 살펴보면, kubectl을 통해 Master Node에 존재하는 kube-api server에게 Pod생성 요청을 보내고, api-server는 해당 요청이 타당한지 검증하게 됩니다. 검증 후 etcd에게 node들에 대한 정보를 요청하게 되고, 전달 받은 정보를 바탕으로 scheduler에게 생성하려는 Pod가 어떤 Workder 노드에 할당되면 좋을 지에 대해 선택을 요청합니다. 그러고 난 후 적절한 Worker Node의 kubelet에 해당 Pod 생성 명령을 내리게 되고, kubelet은 해당 Worker Nod..
Dockerfile 작성 시 작성 된 Dockerfile에 의해 생성되는 Docker Image가 컨테이너에서 실행 될 때 수행되는 명령어를 정의하기 위해 ENTRYPOINT, CMD를 사용하곤 합니다. 이 때, ENTRYPOINT와 CMD의 차이점은 이전에 작성한 블로그에서 확인할 수 있듯 항상 수행되어야만 하는 명령어는 ENTRYPOINT에 작성하고 해당 명령어의 인자 또는 docker run명령에 의해 컨테이너가 실행될 때 인자로 주어지는 값에 의해 대체 될 수 있는 값은 CMD로 작성합니다. 하지만, Dockerfile작성 시에 ENTRYPOINT로 지정한 명령어도 대체될 수 있습니다. k8s환경에서 해당 Docker Image를 통해 Pod내부에서 동작하는 Container들을 정의할 때, co..
terraform init: 명령어는 Terraform 구성을 초기화하는 데 사용됩니다. 이 단계에서 Terraform이 작성한 Configuration을 이해하고, provider(aws, gcp, azure, local, etc)들이 필요한 플러그인과 모듈을 registry로 부터 다운로드합니다.또한, .terraform 디렉토리를 생성하여 이전에 다운로드한 리소스를 캐시합니다 https://developer.hashicorp.com/terraform/language/settings/backends/configuration Backend Configuration - Configuration Language | Terraform | HashiCorp Developer Use the `backend` b..
MLOps란 무엇인가에 정리해보려 합니다. 최근 AI 활용 기술이 많아지면서 데이터 수집과 관리, 머신러닝 모델 개발 및 운영 등의 서비스를 효율적으로 제공하기 위해 MLOps가 생겨났습니다. 실제로 인공지능 산업에서는 데이터를 관리하고 머신러닝 시스템을 개발하는 것뿐만 아니라 안정적인 운영 서비스까지 유저에게 제공해야 하는데요. 개발팀과 운영팀으로 개발과 운영 업무가 나뉘어 진행되면 서로 업무에 대한 이해가 줄어들어 비효율적이기 때문에 이를 해결하고자 MLOps 개념이 등장하였습니다. 머신 러닝의 수명 주기는 데이터 수집, 데이터 준비, 모델 훈련, 모델 조정, 모델 배포, 모델 모니터링 등과 같은 복잡한 구성요소로 이루어져 있으며 데이터 엔지니어링부터 데이터 사이언스, ML 엔지니어링, DevOps와..