Closed opp-13 closed 1 month ago
여러 개의 클러스터를 한 개의 istiod가 컨트롤 하는 구조가 있다는 것을 처음 알았네요
상황 별 최적 Replica 개수에 대해서는 기본이 아래와 같이 할당되는 것 같아서 말씀하신대로 중요해보이긴 하네요
resources: requests: cpu: 500m memory: 2Gi
하지만 HorizontalPodAutoscaler (HPA)를 사용하여 부하에 따라 자동으로 scale out 될 거 같고, 기본으로 떠 있는 개수는 .. 만약에 너무 많이 띄워놨는데 트래픽이 없으면 손해니까 불필요하게 사용하고 있는 상황이 맞느냐에 따라 다를 것 같네요
말씀드리고 저도 궁금해서 찾아봤는데 기본 request 할당이 말씀드린대로 정의되어 있네요
Question / 질문 내용 Istiod의 가용성을 위해서 어떠한 위치에 배포해야 하는지 ReplicaSet은 어떻게 설정할지 궁금합니다.
예를 들어 여러 개의 클러스터를 한 개의 istiod가 컨트롤 하는 구조가 있고
아래와 같이 가용성을 위하여 여러 cluster에 배치하는 구조가 있습니다.
이때 공식 문서에서는 다음의 배포 방법을 제안했는데 일반적으로 어떤 방법을 사용하는지 궁금합니다. One cluster per region (lowest availability) Multiple clusters per region One cluster per zone Multiple clusters per zone Each cluster (highest availability)
그리고 istiod가 부하를 받는 정도 및 부하 분산을 위해 ReplicaSet을 둘 필요가 있는지도 의문이 생겼습니다.
Context / 상황 설명 EKS 구조 상 가용성을 위하여 장애의 전파성이 큰 API Server 및 ETCD를 여러 개 둔다는 점에서 istiod도 실패 시 장애 전파성이 클 것 같다는 점에서 어떻게 예방할 지가 궁금해 졌습니다. https://www.youtube.com/watch?v=E49Q3y9wsUo
What I've Tried / 시도한 방법 질문에 대한 답을 찾기 위해 시도해본 방법이 있다면 설명해주세요
일단 이슈 먼저 올려놓고 추가적으로 자료를 찾고 있습니다.
istio의 배포 Model
https://istio.io/latest/docs/ops/deployment/deployment-models/
부하 관련
아래 지표를 보면 부하를 주면 확실히 레이턴시가 올라갑니다. https://istio.io/latest/docs/ops/deployment/performance-and-scalability/ https://istio.io/latest/blog/2019/performance-best-practices/
아래와 같이 replica를 두어서 HPA를 하는 방법이 있긴 한데 상황 별 최적 Replica 개수가 대략적으로 어떻게 되는지 확인하지 못했습니다.
출처: https://learn.microsoft.com/en-us/azure/aks/istio-scale
Resources / 관련 자료 질문과 관련된 문서, 링크, 코드 등이 있다면 여기에 첨부해주세요
Additional context / 추가 사항 기타 추가적인 정보나 생각이 있다면 여기에 작성해주세요