rollout 2

[쿠버네티스 인 액션] 09. rollout과 readinessProbe

클러스터를 구성하는 container가 생성 즉시 가용상태가 된다고 보장할 수 없다. 어떤 container는 만듬과 동시에 가용할 수도 있고, 어떤 container는 일정 시간이 경과해야 가용할 수 도 있다. 또 다른 container는 초기에는 거짓으로 가용한것 처럼 보여주므로 일정 시간 이후 부터 가용성을 확인해야 할 수도 있다. k8s는 가용성을 판별하기 위한 readinessProbe와 무분별한 rollout 진행을 막기 위한 minReadySeconds 설정 등을 제공하고 있다. rollout 레벨 minReadySeconds를 지정하면 새 pod 생성 후 해당 시간만큼 rollout을 중지한다. 어떤 pod가 초기화 하는데 t 시간이 반드시 필요하다면 그만큼을 minReadySeconds로..

개발/구름 2021.07.16

[쿠버네티스 인 액션] 09. 디플로이먼트: 선언적 애플리케이션 업데이트

본 챕터에서 다룰 내용 : 1. 롤링 업데이트란? 2. 지시적 업데이트 3. 선언적 업데이트 4. 롤아웃 제어 업데이트 전략 어플리케이션은 변하기 마련이고, 이에 따라 이미 배포한 파드도 업데이트가 필요하다. 일반적인 운영 환경이라면 두가지 시나리오를 생각해 볼 수 있다. 재생성 (=Recreate) 삭제 후 교체한다. 1) 기존 운영중인 파드를 모두 내리고 2) 새로운 파드를 동시에 생성한다. 이 방법은 상대적으로 깔끔하다. 데이터가 꼬일 일도 없고, 사용자가 새로고침 할 때 마다 다른 버젼의 서비스로 접속하는 혼선을 원칙적으로 차단한다. 하지만 이 방식은 결정적으로 다운타임이 발생한다. 요즘의 "무중단" 트랜드와는 맞지 않다. 블루 그린 디플로이먼트 1) 먼저 새로운 파드를 모두 생성하고 2) 서비스..

개발/구름 2021.07.15