일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- asgi
- Service
- ansible
- IAC
- ebs
- POD
- 자바스크립트
- Kubernetes
- asyncio
- Python
- FastAPI
- EKS
- AWS
- Django
- intervals
- github
- K8S
- dockerfile
- terraform
- 쿠버네티스
- IAM
- WSGI
- elasticsearch
- Deployment
- docker
- YAML
- leetcode
- kernel
- event loop
- EC2
- Today
- Total
목록POD (5)
궁금한게 많은 개발자 노트
container와 virtual macinecontainer는 운영체제 수준의 가상화 기술로 호스트 운영체제와 리눅스 커널을 공유하면서도 프로세스를 격리된 환경에서 실행하는 기술입니다. 하드웨어를 가상화하는 가상 머신과 달리 커널을 공유하는 방식이기에 실행 속도가 빠르고 성능 상의 손실이 거의 없습니다. 컨테이너의 격리는 리눅스 네임스페이스, cgroup 등의 커널 기능을 활용하여 이루어집니다. 이러한 격리 기술 덕분에 호스트 머신에서는 프로세스로 인식되지만, 컨테이너 관점에서는 독립적인 환경을 가진 가상 머신처럼 동작됩니다. VM은 하이퍼바이저라는 것이 존재하며 리소스에 대한 액세스를 효율적으로 관리하여 가상 머신을 개별 서버로 활용할 수 있도록 해줍니다. 하이퍼바이저를 통하여 물리적 하드웨어를 가상..
쿠버네티스 Pod는 하나 이상의 컨테이너를 포함할 수 있습니다. Pod를 구성하는 Container가 실행되기 전에 사전 작업이 필요한 경우, 해당 Container들이 정상동작하기 위해 미리 필요한 작업을 수행하는 Container가 있는데 이를 Init Container라고 부릅니다. Init Container가 성공적으로 수행되어야 Pod를 구성하는 컨테이너들의 동작, 즉 Pod가 목적으로 하는 작업을 수행할 수 있습니다. 앱 컨테이너 실행 전에 미리 동작시킬 컨테이너 본 컨테이너가 실행되기 전에 사전 작업이 필요할 경우 사용 초기화 컨테이너가 모두 실행된 후에 앱 컨테이너를 실행 https://kubernetes.io/ko/docs/concepts/workloads/pods/init-contain..
쿠버네티스는 크게 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..
Pod란? kubernetes에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위입니다. 하나 이상의 컨테이너 그룹이며, 이 그룹은 스토리지 및 네트워크를 공유하고, 해당 컨테이너를 구동하는 방식에 대한 명세를 가집니다. Pod의 Contents는 항상 함께 배치되고 스케줄되며 shared context에서 실행됩니다. Pod내부에는 컨테이너들의 설정에 사용되는 초기화 컨테이너가 포함될 수 있습니다. 초기화 컨테이너는 완료를 목표로 실행되며 각 초기화 컨테이너는 다음 초기화 컨테이너가 시작되기 전에 완료되어야 합니다. (초기화 컨테이너 역할: resource limit, volume, security settings를 포함한 셋팅) Pod의 shared context는 linux의 names..