일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- asgi
- AWS
- Service
- IAM
- intervals
- terraform
- docker
- WSGI
- event loop
- asyncio
- s3
- elasticsearch
- EKS
- 자바스크립트
- github
- ebs
- Deployment
- leetcode
- POD
- ansible
- FastAPI
- Django
- 쿠버네티스
- Kubernetes
- K8S
- dockerfile
- YAML
- EC2
- IAC
- Python
- Today
- Total
목록전체 글 (156)
궁금한게 많은 개발자 노트
Kubernetes에서 pod생성 시 persistent volume(PV)을 생성 및 연결하기 위해서는 pod가 생성될 노드에 AWS EBS CSI Driver를 설치해야 하며, 이후에도 EBS CSI Driver를 통해 AWS EBS Volume에 API호출해서 AWS EBS Volume의 수명 주기 관리가 가능합니다. 즉, Ansible을 통해 EBS CSI 드라이버를 설치하면, 드라이버 컴포넌트들은 Kubernetes 클러스터의 노드에 설치됩니다. 이 드라이버 컴포넌트는 Kubernetes 노드에 설치된 CSI 드라이버 레지스트리에 등록되며, Kubernetes는 이를 사용하여 EBS 볼륨을 프로비저닝하고 마운트합니다. Amazon EBS CSI 드라이버 - Amazon EKS 이 페이지에 작업이..
Kubernetes의 데이터 지속성 stateful application이 올바르게 실행되기 위해서는 데이터가 올바르게 저장되고 유지되어, 실행 중에 얻어질 수 있어야합니다. 하지만, stateful application이 kubernetes환경에서 실행될 때, persistent storage가 없다면 pod에 저장되는 데이터는 pod또는 container의 수명 주기에 의존적입니다. 즉, pod에서 conflict 또는 crash가 발생하여 종료되면 저장된 데이터는 손실됩니다. Pod와 Storage의 수명 주기를 분리하기 위해 필요한 구성 요소 이러한 데이터 손실을 방지하려면 Storage의 수명 주기와 Pod의 수명 주기를 분리하여야 합니다. 그러기 위해서 kubernetes에서는 Persiste..
Future Object퓨처 객체는 어떠한 작업의 실행 상태 및 결과를 저장하는 객체입니다. 실행 상태란 해당 작업이 진행 중인지(PENDING), 취소되었는지(CANCELLED), 종료되었는지(FINISHED)를 나타냅니다. 작업의 완료라 함은 CANCELLED 또는 FINISHED 상태를 가리킵니다. 그리고 실행 결과라 함은 해당 작업의 결과 값 혹은 그 작업을 진행하면서 발생한 예외 객체를 말합니다. 예외가 발생한 경우에도 상태는 FINISHED가 됨을 주의해야 합니다.중요한 점으로는 작업의 실행 상태 및 결과를 나타낼 뿐, 작업의 실행을 개시하지 않는다는 점입니다. 퓨처 객체의 중요한 메소드 중하나는 add_done_callback()입니다. 이 메소드를 호출하면 해당 퓨처 객체가 완료될 떄 호출..
동시 프로그래밍(concurrent programming)은 기본적으로 여러 스레드를 활용하여 다중 스레드 프로그래밍을 뜻합니다. 하지만 다중 스레드 환경에서 thread-safe한 프로그래밍을 개발하는 것은 쉽지 않고 고려해야할 사항이 많습니다. 또한, 싱글 코어 프로세서에서 다중 스레드 프로그램을 돌리면 성능이 기대했던 것 보다 나오지 않는 문제가 있습니다. 그래서 단일 스레드에서 비동기적으로 동시에 여러 task를 처리하는 비동기 프로그래밍이 등장하게 되었습니다. python3.4에서 asyncio가 표준 라이브러리로 채택이 되고, 3.5버전에서는 async/await 키워드가 문법으로 채택되면서 파이썬에서도 비동기 프로그래밍이 가능하게 되었습니다. Event Loop 동작 원리 파이썬의 이벤트 루..
Volume이란? 컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생합니다. 한 가지 문제는 컨테이너가 크래시될 때 파일이 손실된다는 것입니다. kubelet은 컨테이너를 다시 시작하지만 초기화된 상태이기에 문제가 됩니다. 두 번째 문제는 Pod에서 같이 실행되는 컨테이너간에 파일을 공유할 때 발생합니다. 쿠버네티스 볼륨 추상화는 이러한 문제를 모두 해결합니다. k8s는 다양한 유형의 볼륨을 지원하는데, Pod는 여러 유형의 볼륨을 동시에 사용할 수 있습니다. 임시 볼륨 유형은 파드의 수명을 갖지만, 퍼시스턴트 불륨은 파드의 수명을 넘어 존재합니다. 즉, 파드가 더 이상 존재하지 않으면 k8s는 임시 볼륨을 삭제하지만, 퍼시스턴트 볼륨은 ..