Open Infra Days 2019 후기

19일부터 진행했던 Open Infra Days 2019에 참여하면서 배운 점들을 간단히 정리해보고자 한다. 해외의 CNCF 컨퍼런스처럼 사람들의 관심이 높아지고 있다는걸 느낄 수 있었다. 그리고 돈 많은 후원사가 많아서 그런지 먹거리와 경품이 풍성했다. 하지만 내 번호는 한번도 당첨되지 않았다.

내가 들었던 세션들은 주로 Kubernetes Scheduler, Controller, Kubernetes 기반의 ML Workflow에 대한 내용이었다.

kubernetes scheduler deep dive

  • kube default 스케줄러가 어떻게 동작하는지, custom 스케줄러를 어떻게 적용시킬 수 있는지에 대한 내용
  • 어려운 내용을 단계 별로 도식화하여 쉽게 설명해주셔서 좋았음
  • 발표자료 링크

  • 주로 적용하면서 겪었던 문제들에 대한 내용을 공유
  • kafka, flink의 state가 크게 증가하는 경우 이슈 발생 가능 (retension으로 정리)
  • 발표자료 링크
  • 핸즈온 링크

LINE에서 Kubernetes를 쓰는 방법, 배운 것들

  • 사내 프라이빗 클라우드 Verda에 Kubernetes 기반의 서비스를 올리면서 겪은 이슈
  • Kubernetes as a Service를 개발하면서 겪은 이슈
  • Kube Custom Controller를 구현하는 방법

카카오 T택시를 통해 살펴보는 카카오의 kubernetes as a service

  • 사내 프라이빗 클라우드에 Kubernetes as a Service 개발하면서 이슈 공유
  • 기존 LDAP 통합 인증을 위해 kubectl login plugin 개발
  • In-House Custom DNS Controller 개발 과정 (Operator SDK 사용)
  • 카카오 T 택시를 Kubernetes 기반으로 마이그레이션 했던 과정 공유

Kakao automatic k8s monitoring

  • 카카오의 대용량 K8S 클러스터 모니터링 자동화 서비스 개발 공유
  • pod, ingress, api-server, system 지표를 자동으로 수집, 알림, 모니터링
  • 자동으로 리소스 정리, 플러그인을 Helm으로 배포
  • EFK + prometheus 기반으로 개발
  • OOM 이슈 해결을 위한 불필요 메트릭 제거 (카디널리티 분석)

Efficient Job scheduling for ML workloads in kube env

  • 삼성전자의 ML Workflow 플랫폼 개발하면서 겪은 이슈 공유
  • kube default scheduler가 ML Workflow에 안맞는 이유 설명
  • Kube 기반의 분산 DL 학습에서 병목이 가능한 지점들 설명
  • kube-batch로 스케줄링 최적화하는 과정 (PodGroup을 기준으로 스케줄링)
  • 기타 ML Job에서 발생할 수 있는 이슈 (GPU Staggler, Locality…)

대규모 GPU 기반 k8s cluster를 활용한 ml training 이슈

  • 삼성전자의 Kube 기반 GPU 클러스터를 운영하면서 겪은 이슈 공유
  • CPU-GPU, GPU-GPU 간의 연결 파이프라인 (NVIDIA/DALI)
  • GPGPU 간 데이터 복제 오버헤드 문제, CNI 이슈
  • Processing 단계에서 Feeding Bottleneck 문제

kubernetes를 활용하여 효율적인 ml pipeline 만들기

  • AWS 에서 ML 플랫폼 개발, 설계 단계에 대해 공유
  • 학습 데이터를 전달하기 위해 EC2 NFS 서버를 PV로 사용 (S3FS로 했다가 수정)
  • Inference 서버는 TensorRT를 활용 (Sync, Async)
  • 발표자료 링크

정리하면서

발표를 통해 Scheduler, Controller에 대한 내용을 더 잘 이해할 수 있었고, 기술 세션 뿐만 아니라 Kubernetes에 대한 생각과 향후 개발 방향을 공유하는 발표도 많았던 점이 좋았다.

여러 세션에서 공유했던 이슈들을 다시 보니 Ingreess/Egress, DNS Controller, RBAC에 대한 내용이 특히 많았다. 사내에 적용하면서 당연히 마주하게 될 부분일테니 네트워크, 인증 관련 부분은 다시 공부해보려한다.