일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- POD
- AZURE
- Service
- Django
- ansible
- FastAPI
- AZ-900
- ebs
- IAM
- DevOps
- kernel
- Python
- elasticsearch
- IAC
- cpu
- AZ-104
- asyncio
- EC2
- Network
- Role
- docker
- leetcode
- Kubernetes
- K8S
- RBAC
- Deployment
- AWS
- terraform
- Today
- Total
목록Kubernetes (15)
궁금한게 많은 개발자 노트

Kubernetes에서 Pod 생성 및 실행 순서 사용자가 Pod 생성 요청kubectl apply -f pod.yaml 명령어 등을 통해 사용자가 Pod 생성 요청을 합니다.요청은 명령형이 아니라 선언형으로 쿠버네티스 클러스터가 되었으면 하는 Desired State를 나타냅니다.해당 요청에 의해 쿠버네티스는 Actual State를 Desired State와 일치시키기 위해 비동기적으로 움직입니다.요청은 Kubernetes API Server에 전달됩니다.API Server에서 요청 처리 및 etcd에 저장API Server는 수신된 요청을 인증, 인가, 유효성 검사를 진행합니다.이후 Admission Controller를 통해 Mutating, Validating, 정책 기반 검증을 진행합니다.통과..

쿠버네티스의 모든 파드는 고유한 IP를 가집니다. 이는 즉 파드간 연결을 명시적으로 만들 필요가 없으며, 도커 환경에서와 같이 컨테이너 포트를 호스트 포트에 매핑할 필요가 없음을 의미합니다. (도커 환경에서 컨테이너는 호스트와 별도의 네트워크 네임스페이스를 가지므로, 외부에서 접근 시 명시적으로 포트를 호스트 포트에 매핑 해야 함) 이를 통해 포트 할당, 네이밍, 서비스 디스커버리, 로드 밸런싱, 애플리케이션 구성, 마이그레이션 관점에서 파드를 VM / 물리 호스트처럼 다를 수 있는 깔끔한 모델이 제시됩니다. 또한, 쿠버네티스의 파드는 NAT없이 노드 상의 모든 파드와 통신이 가능하며, 노드 상의 에이전트(시스템 데몬, kubelet)는 해당 노드의 모든 파드와 통신할 수 있음이 전제되어 있습니다. 쿠버..

비용을 줄이는 것에는 많은 방법이 있지만 서버의 비용을 최적화하는 것이 가장 대표적인 방법일 수 있습니다.쿠버네티스는 여러 서버에서 컨테이너를 실행, 관찰, 제어할 수 있는 도구로 CPU할당량에 대한 설정도 가능합니다. CPU Request를 통해 최소한으로 사용 가능한 자원을 설정할 수 있고, CPU Limits를 통해 최대 허용량을 설정할 수 있습니다. 최대 허용량보다 많이 사용하려 할 때 CPU Throttling이 발생하며 CPU를 할당받지 못해 대기하는 현상을 말합니다. 자원 최적화를 통해 비용을 줄일 수 있지만, 비용을 줄이면서도 서비스 안정성을 유지해야 하는 것이 가장 중요합니다. 이를 위해서는 꼭 필요한 만큼만 자원을 할당해야 하며 이는 비용과도 직결됩니다. 그리고 필요한 자원 사용량도 ..

안녕하세요. 오늘 포스팅에서는 Kubernetest에서 Node Auto Scaling방식에 대해 알아보고,대표적인 방식인 Cluster AutoScaler(CAS)와 Karpenter에 대해 비교를 해보려 합니다 😎✔ 우선 , 비교적 오래전부터 사용되고 있었던 Cluster AutoScaler(이하 CAS)에 대해 알아보고, 동작 방식에 대해서도 정리해보겠습니다.기본적으로 해당 포스팅에서 설명하는 Cloud Service Provisioner(CSP)는 AWS를 기준으로 작성됨을 참고 부탁드립니다!!AWS EKS(Elastic Kubernetes Service)의 경우에는 Kubernetes의 기본 CAS와 EC2 Auto Scaling Group(ASG)의 기능을 활용하여 Node Auto Sca..
쿠버네티스 Pod는 하나 이상의 컨테이너를 포함할 수 있습니다. Pod를 구성하는 Container가 실행되기 전에 사전 작업이 필요한 경우, 해당 Container들이 정상동작하기 위해 미리 필요한 작업을 수행하는 Container가 있는데 이를 Init Container라고 부릅니다. Init Container가 성공적으로 수행되어야 Pod를 구성하는 컨테이너들의 동작, 즉 Pod가 목적으로 하는 작업을 수행할 수 있습니다. 앱 컨테이너 실행 전에 미리 동작시킬 컨테이너 본 컨테이너가 실행되기 전에 사전 작업이 필요할 경우 사용 초기화 컨테이너가 모두 실행된 후에 앱 컨테이너를 실행 https://kubernetes.io/ko/docs/concepts/workloads/pods/init-contain..