개인적으로 테스트한 내용으로 틀린 정보가 있을 확률이 매우 높습니다.
운영에 적용 전 따로 테스트가 필요합니다.
배포로인한 서비스 연속성(인바운드 트래픽 유실, 아웃바운드 트래픽 유실, 어플리케이션 안정성)에 이슈가 발생하지 않게 하는 것이 중요합니다.
하기 내용은 AWS 환경에서 동작한다는 기준으로 작성했습니다.
배포 진행 시 이슈 (502, 504 발생)
1. 신규 파드에 느린 어플리케이션 시작 (트래픽을 받을 상태가 아닌 상황)
2. 기존 파드에 종료 ( 타켓그룹에서 계속 트래픽을 전달함, 기존 어플리케이션에 정상적인 종료가 안된 상태)
위에 이슈를 조치하기위해 ReadinessGates 를 사용해야됩니다. (aws alb controller사용한다는 기준)
자세한 가이드 (https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.8/deploy/pod_readiness_gate/)
ReadinessGates를 사용할 경우 (트래픽을 받을 상태가 아닌 상황, 타켓그룹에서 계속 트래픽을 전달함)을 조치할 수 있습니다.
하지만 "기존 어플리케이션에 정상적인 종료가 안된 상태"는 조치가 되지 않습니다.
위에 이슈를 조치하는 방법은 preStop, terminationGracePeriodSeconds, alb.ingress.kubernetes.io/target-group-attributes: deregistration_delay.timeout_seconds= 30 예시
참고 블로그
'AWS > EKS' 카테고리의 다른 글
프로메테우스 EC2 자동? 메트릭 수집 (Node exporter) (0) | 2024.01.09 |
---|---|
alb aws-load-balancer-controller error (1) | 2023.11.21 |
EKS 업데이트 참고하면 좋은 tool (0) | 2023.09.19 |
eks worknode 서브넷 그룹 변경 (비용) (2) | 2023.08.12 |
fargate + eks 네트워크 이슈 (0) | 2023.03.06 |