Tech Artifacts/Kubernetes

Kubernetes - 05. deployment

새 버전을 띄우는 동안 옛 버전이 트래픽을 받는 찰나를 누가 만드는가한 팀이 금요일 오후에 새 버전을 배포했다. 컨테이너를 5개 돌리던 서비스였다. 가장 단순한 방법은 옛 컨테이너 5개를 전부 죽이고 새 5개를 띄우는 것이다 — 하지만 그러면 배포 중 몇 분간 서비스가 완전히 죽는다. 그래서 그들은 컨테이너를 하나씩만 바꿨다: 옛 것 1개를 죽이고 새 것 1개를 띄우길 5번 반복. 이 사이에 "옛 버전과 새 버전이 동시에 돌면서 각자 트래픽을 받는" 찰나가 생긴다. 문제는 — 이 찰나를 손으로 관리하면 어느 순간 꼬인다는 것이다.이 글이 푸는 것은: Kubernetes의 Deployment가 이 "점진적 교체"를 어떻게 자동화하고, 왜 그것이 replicas 선언 하나로 가능한가다.Deployment는 ..

Develop Artifacts/Spring Boot

SpringBoot - 10. deployment

500MB JAR에서 80MB 바이너리로 — GraalVM native image와 컨테이너 배포Spring Boot 애플리케이션을 서버리스(AWS Lambda)에 배포하려 한다. JVM 웜업에 3초, 첫 요청에 5초가 걸린다. 콜드 스타트가 치명적인 서버리스 환경에서 이것은 사용할 수 없는 수준이다. GraalVM native image로 빌드하면 — 시작 시간이 50ms로 줄고, 메모리 사용량이 1/5로 감소한다.이 글은 Docker 컨테이너 빌드, GraalVM AOT 컴파일, layered JAR, graceful shutdown, 그리고 Spring Boot 4.0의 AOT 강화를 풀어간다. (Spring Boot Reference - Container Images)컨테이너 빌드 — Docker..

Archive

'deployment' 2

Tech Artifacts/Kubernetes

Kubernetes - 05. deployment

새 버전을 띄우는 동안 옛 버전이 트래픽을 받는 찰나를 누가 만드는가한 팀이 금요일 오후에 새 버전을 배포했다. 컨테이너를 5개 돌리던 서비스였다. 가장 단순한 방법은 옛 컨테이너 5개를 전부 죽이고 새 5개를 띄우는 것이다 — 하지만 그러면 배포 중 몇 분간 서비스가 완전히 죽는다. 그래서 그들은 컨테이너를 하나씩만 바꿨다: 옛 것 1개를 죽이고 새 것 1개를 띄우길 5번 반복. 이 사이에 "옛 버전과 새 버전이 동시에 돌면서 각자 트래픽을 받는" 찰나가 생긴다. 문제는 — 이 찰나를 손으로 관리하면 어느 순간 꼬인다는 것이다.이 글이 푸는 것은: Kubernetes의 Deployment가 이 "점진적 교체"를 어떻게 자동화하고, 왜 그것이 replicas 선언 하나로 가능한가다.Deployment는 ..

댓글
Develop Artifacts/Spring Boot

SpringBoot - 10. deployment

500MB JAR에서 80MB 바이너리로 — GraalVM native image와 컨테이너 배포Spring Boot 애플리케이션을 서버리스(AWS Lambda)에 배포하려 한다. JVM 웜업에 3초, 첫 요청에 5초가 걸린다. 콜드 스타트가 치명적인 서버리스 환경에서 이것은 사용할 수 없는 수준이다. GraalVM native image로 빌드하면 — 시작 시간이 50ms로 줄고, 메모리 사용량이 1/5로 감소한다.이 글은 Docker 컨테이너 빌드, GraalVM AOT 컴파일, layered JAR, graceful shutdown, 그리고 Spring Boot 4.0의 AOT 강화를 풀어간다. (Spring Boot Reference - Container Images)컨테이너 빌드 — Docker..

댓글

wall

방명록

방문 흔적을 남겨주세요. 질문이나 인사 모두 환영합니다.