일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- event loop
- dockerfile
- Deployment
- AWS
- FastAPI
- Service
- github
- ebs
- WSGI
- intervals
- docker
- Kubernetes
- 자바스크립트
- asgi
- asyncio
- EKS
- YAML
- K8S
- Django
- terraform
- Python
- EC2
- POD
- elasticsearch
- DevOps
- IAM
- IAC
- leetcode
- 쿠버네티스
- ansible
- Today
- Total
목록Deployment (5)
궁금한게 많은 개발자 노트
AWS를 사용하여 EKS환경을 구축해보면서 어떤 구성요소들이 필요한지 컴포넌트 다이어그램을 대략적으로 그려보았습니다. VPC를 private subnet과 public subnet으로 구분하고, public subnet에 bastion host인 EC2를 배치하고, private subnet에는 EKS를 생성하였습니다. 이를 통해 EKS에 직접 접근은 bastion host를 통해서만 가능하도록 하여 보안을 강화시켰습니다. 또한, worker node에 존재하는 application service pod등으로의 접근은 ALB(ingress)를 통해 가능하도록 하였습니다. 만약 data plane에 존재하는 pod들이 외부로 접근/요청이 필요한 경우에는, public subnet에 존재하는 NAT(Netw..
kubernetes에서 pod를 배포하는 방법으로 statefulset과 deployment가 있습니다. 각각은 어떤 목적으로 사용되며 어떤 상황에서 어떤 자원을 사용하는 것이 더 효율적인지 알아보기 위해 각 특징에 대해 정리해보려 합니다. 이름에서 확인할 수 있는 특징으로는 stateful이라는 단어가 눈에 들어옵니다. state는 상태를 뜻하며 쉽게 유추할 수 있는 내용으로는 상태를 가지는 것과 그렇지 않은 것으로 나눌 수 있을 것 같습니다. stateless인 경우에는 상태를 저장할 필요가 없다는 의미로, 해당 어플리케이션이 종료되거나 재 생성되더라도 이전에 상태를 알 필요가 없고, 각 어플리케이션의 상태가 다른 어플리케이션과 의존성이 약한 경우 사용할 수 있을 것 같습니다. 반면, stateful..
Deployment: Replicaset의 상위 개념으로 볼 수 있으며 Deployment로 Replicaset을 생성할 수도 있고, 배포 작업을 좀 더 세분화하여 롤링 업데이트 등을 컨트롤 할 수 있습니다. 이러한 이유로 Replicaset만을 사용하기보다 Deployment사용이 보편적입니다. https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ Deployments A Deployment provides declarative updates for Pods and ReplicaSets. You describe a desired state in a Deployment, and the Deployment Controller chang..
Pod란? kubernetes에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위입니다. 하나 이상의 컨테이너 그룹이며, 이 그룹은 스토리지 및 네트워크를 공유하고, 해당 컨테이너를 구동하는 방식에 대한 명세를 가집니다. Pod의 Contents는 항상 함께 배치되고 스케줄되며 shared context에서 실행됩니다. Pod내부에는 컨테이너들의 설정에 사용되는 초기화 컨테이너가 포함될 수 있습니다. 초기화 컨테이너는 완료를 목표로 실행되며 각 초기화 컨테이너는 다음 초기화 컨테이너가 시작되기 전에 완료되어야 합니다. (초기화 컨테이너 역할: resource limit, volume, security settings를 포함한 셋팅) Pod의 shared context는 linux의 names..
Ansible이란? Ansible은 Open Source SW Provisioning, Configuration, Application Deployment 역할을 하는 자동화 Tool로 사용됩니다. 기존에는 동일한 환경의 리눅스를 구축하기 위해 쉘스크립트에 패키지 설치, configuration파일 수정 등을 나열하고 스크립트를 실행시키는 것이 일반적이었다면, 클라우드 환경에서 관리 및 배포해야할 서버의 숫자가 급격하게 증가하는 요즘, 동시에 많은 서버에 동일한 환경을 배포하는 상황이 발생하고 쉘 스크립트로는 어려운 상황이 되었습니다. 이를 해결하기 위해 나온 개념이 IaC(Infrastructure as a Code)입니다. 이 개념은 쉽게 말해 컴퓨터의 인프라 구성을 코드로 작성하는 것을 의미합니다...