일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- chroot exit code
- Entity
- mybatis
- MaxRAMPercentage
- 종료코드
- exit code
- 다중 데이타소스
- ManyToMany
- 디자인 패턴
- 영속화
- OneToMany
- docker
- dirty check
- Multi Transaction
- Multi Datasource
- SpringBoot 2.0
- OneToOne
- 활성프로브
- JDK
- Java
- Design Pattern
- ManyToOne
- OracleJDK
- 변경 감지
- 트랜잭션 쓰기 지연
- 다중 트랜잭션
- openjdk
- JPA
- SpringBoot
- K8s
- Today
- Total
목록2021/07/24 (2)
조금 평범한 개발 이야기
개요 k8s 는 워커의 자원 (cpu, memory) 을 공유하기 때문에 리소스 제한을 통해 파드가 사용할 자원을 미리 정의 합니다. 이는 워커에 있는 파드들이 요구하는 자원이 워커의 자원을 넘어서는 오버커밋 상태가 되었을때 특정 파드가 종료되거나 이상 동작되는 것을 막기 위함 입니다. resources: requests: cpu: 1 memory: 1Gi limits: cpu: 1 memory: 1Gi SPRING BOOT 으로 구성되었고 xms, xmx 메모리 설정이 아래와 같이 run.sh 에 1g 로 설정된 이미지가 있다고 가정해 보겠습니다. # Dockerfile ENTRYPOINT ["./run.sh"] #!/usr/bin/env bash exec java \ -jar /usr/local/se..
리소스 오버커밋 k8s에 파드를 띄울때 리소스 제한을 설정하지 않으면 파드는 워커 vm 에 있는 cpu, memory 를 서로 공유 하게 됩니다. 즉 파드 하나가 worker 의 모든 자원을 사용할 수도 있다는 이야기 입니다. 일반적인 경우에는 문제가 없으나 일순간 파드들이 동시에 많은 cpu, memory 자원을 사용하려고 할때 문제가 발생 됩니다. CPU CPU 의 경우 워커 vm 이 가지는 최대 Core 를 넘어서는 요청이 들어오면 오버커밋 상황이 되며 기대하는 응답 보다 느리게 동작이 됩니다. 이 경우에는 초과되는 요청을 한 파드가 퇴거(evict) 대상으로 지정되지 않으며 단지 워커가 전체적으로 느리게 동작이 될 뿐입니다. MEMORY 메모리의 경우 이와 다르게 최대 메모리 를 넘어서는 오버커밋..