일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JavaScript
- ip
- airflow
- zookeeper
- EC2
- CSV
- AWS
- Trino
- Packet
- Spring
- PostgreSQL
- kubeadm
- Kafka
- tcp
- kubernetes
- MAC address
- jvm
- Network
- docker
- log
- Python
- CVAT
- Vision
- grafana
- kubectl
- java
- aws s3
- OS
- helm
- Operating System
- Today
- Total
목록Python (11)
JUST WRITE
Kubernetes환경에서 Airflow를?!?! 요즘 가장 핫한 Workflow Tool은 Airflow입니다. python으로 개발되어서 설치도 PyPl로 간편하게 설치할 수 있습니다. 하지만 디테일하게 사용하려면 Metastore, Celery Worker 등 설정할게 많습니다. 이러던 중 Kubernetes에 Airflow를 설치해야 될 업무를 맡게 되었습니다. 이번 포스팅에서는 Airflow를 Kubernetes 환경에 설치하는 것을 정리해 보았습니다. Helm으로 Airflow 설치 Airflow에서 공식 Helm을 제공해 주기 때문에 해당 Helm으로 설치를 진행하였습니다. 다른 버전인 User-community Helm도 존재하니 참고해 주시길 바랍니다. Airflow Helm Chart를..
pyenv python으로 개발을 진행하다 보면 항상 버전 문제로 골머리를 앓게 됩니다. python이 제공하는 library가 정말 다양해서 편하기도 하지만 단점도 존재합니다. 필요한 python library가 특정 python 버전까지만 지원한다든지, python library와 종속된 library끼리 compatible 한 버전을 맞춰야 하는 발생 합니다. python에서 virtual 환경을 구성, 독립된 환경에서 다른 프로젝트에 영향이 없도록 세팅할 수 있습니다. venv라는 것을 기본적으로 제공해 줍니다. venv venv venv는 특정 Path에 Virtual Environment를 제공해주는 Python Package이다. Virtual Environment덕분에 경량화되고 고립된 환..
Yolo 모델 Trian 저번 포스팅에서 Yolo 모델을 Train 하기 위한 DataSet을 준비하였습니다. CVAT을 통하여 샘플 Video에 있는 사람을 Labeling 하고 해당 Data를 COCO Data 포맷으로 변환하였습니다. 이번 포스팅에서는 준비한 DataSet으로 Yolo 모델을 Train 해보겠습니다. Train 환경 준비 Train에 필요한 환경을 준비해야 합니다. 필수는 아니지만 빠른 Train을 위해서 GPU Server를 권장합니다. 저는 AWS EC2에서 Ubuntu p2.xlarge로 GPU Server를 준비하였습니다. GPU Server 환경 구성은 아래 포스팅에 참고해 주시길 바랍니다. AWS EC2에서 GPU를 사용하려면?! AWS EC2 GPU를 사용하려면?! 딥러..
특정 Node에 Pod 스케줄링 Kubernetes에 Python으로 짠 Process를 여러 개 구동할 업무가 주어졌습니다. 해당 Process는 법인별로 1~3개씩 구동해야되서 다수의 Process를 구동해야 했습니다. Kubernetes Cluster에서 자체적으로 Node의 상태에 맞게 Pod을 Node에 배치하게 됩니다. 이번 Python Process가 법인 상황에 따라 많은 Resource를 차지할 수 있는 상황이었습니다. 그래서 해당 Process의 Pod이 Node들에 적절하게 분배될 수 있도록 구성해 보았습니다. affinity를 이용한 스케줄링 첫 번째 시도한 방식은 affinity를 이용한 방식이었습니다. affinity는 사전적 의미로 선호도라고 합니다. Label를 통해서 선호도..
Ansible를 통한 Kafka 설치 Kafka는 Cluster로 구성되기 때문에 Server마다 같은 작업을 반복해야 한다. Infra 자동화 구성 Tool인 Ansible을 통해 편하게 설치하는 작업을 해보려 한다. Ansible은 laC(Infrastructure as Code) 개념이 도입된 Tool로 Code를 통해 Infra 세팅을 도와준다. AWS EC2 3개의 Instance를 세팅하여 Kafka Cluster를 구성해보았다. Ansible 설치 먼저 첫번째 Server에 Ansible을 설치하였다. Ansible은 python기반이라 pip를 통해 설치가 가능하다. Ansible 버전별 필요한 python 버전은 아래 표에 정리하였다. Ansible Version Required Pyth..
What is Airflow Airflow is a platform to programmatically author, schedule and monitor workflow 위 문장이 Apache Airflow 공식 사이트에 게시되어 있는 Airflow 한 줄 소개글이다. Airflow는 Workflow를 프로그래밍적으로 작성할 수 있고, Schedule 하고 모니터링을 하게 해주는 Platform이다. 다르게 해석하면 작업들을 일정한 시간에 정확한 방법으로 올바른 순서대로 실행하게 해주는 Tool이다. 장점 Dynamic Airflow에서 Pipeline은 Python으로 정의할 수 있다. Python으로 가능한 것이면 Airflow에서 Pipeline내 Task로 실행할 수 있다. Scalable Ai..