쿠버네티스를 7500노드로 확장하기
(openai.com)- OpenAI가 GPT-3,DALL·E 등을 위해서 k8s를 확장한 경험 공유
- 일반적으로 싱글 클러스터를 7500노드 까지 스케일링 하지는 않아서 특별한 관리가 필요하지만, 이렇게 함으로써 간단한 인프라 구조를 가지게 되고, 코드 변경없이도 편하게 확장이 가능
- 일반 회사의 환경과는 어플리케이션/하드웨어가 조금 다름
ㅤ→ GPU가 NVLink/GPUDirect등을 통해서 노드의 하드웨어를 다 써야함
ㅤ→ 그래서 보통 한개의 Pod가 전체 노드를 차지
ㅤ→ 즉 노드가 많지만 스케줄러엔 상대적으로 부담이 적음
- 네트워킹
ㅤ→ 포드/노드가 많아져서 Native Pod Networking 으로 전환
ㅤ→ Alias 기반의 IP 주소처리로 바꿔서 20만개의 IP를 어느때나 사용 가능
- API Server
ㅤ→ kube-prometheus 가 제공하는 Grafana 대시보드 사용
ㅤ→ HTTP 429(Too Many Requests) 와 5xx(Server Error) 를 고수준 문제 시그널로 경고하는게 유용
ㅤ→ 항상 API 서버는 클러스터 외부에서 실행