IL-0011 Skyscanner · 2019-04-23 (게시일)kubernetesnetworking
컨트롤러는 백엔드 맵을 제대로 섞었지만 설정 템플릿이 그 맵을 range 로 돌았고, 그 언어의 range 는 키를 정렬된 순서로 돌아요. 그래서 모든 HAProxy 인스턴스가 파드를 주소순으로 적었고, 강제 재시작 때마다 같은 첫 파드부터 라운드로빈을 다시 시작해 파드 하나가 몰매를 맞았어요. 정적인 클러스터에서 한 부하 테스트는 운영의 재시작을 재현하지 못했어요. 임시 조치로 서비스를 가상 주소로 되돌렸고, 수정은 삽입 순서를 지키는 슬라이스를 돌게 한 것이었어요. 다음 릴리스에 업스트림 수정이 들어갔어요.
일요일에 클러스터 사용자가 꼬리 지연이 높다며 지원을 호출했어요. 서비스의 파드 몇 개는 요청 큐가 꽉 차 작업을 거부했고 나머지는 놀고 있었어요. 인그레스 컨트롤러 컨테이너 여럿이 메모리 때문에 죽어서 남은 것들이 더 많은 부하를 받았어요.
클러스터 사용자가 근무 외 시간에 지원을 호출했고, Prometheus 질의로 치우친 분배를 확인했어요.
클러스터 구성 요소 변경은 중요한 동작을 운영에 가까운 변동 속에서 테스트해야 해요. 같은 키워드라도 언어의 자리마다 다르게 동작하고, 작은 구성 요소 하나가 클러스터의 모두를 아프게 할 수 있어요.
–