Introduction

현대의 마이크로서비스 환경에서 쿠버네티스 클러스터 내의 애플리케이션으로 트래픽을 관리하는 것은 필수 기술입니다.
쿠버네티스는 클러스터로의 외부 트래픽을 제어하고 라우팅하는 강력한 솔루션인 Ingress를 제공합니다.

GPT-4 좋네

Ingress: Cluster 내 서비스로의 외부 액세스를 관리하는 Kubernetes의 API 객체

Kubernetes의 ingress는 host 이름과 경로를 포함한 일련의 규칙을 기반으로 HTTP와 HTTPS routing을 제공하여 client 요청을 적절한 backend service로 연결하는 장점이 있다.
Ingress의 주요 구성 요소는 아래와 같다.

  1. Ingress Resource
    • Traffic routing 규칙 정의
    • Host, 경로 및 traffic 흐름을 제어하는 다양한 기타 매개변수 포함
  2. Ingress Controller
    • Ingress 리소스의 규칙을 읽고 실제 traffic routing 처리
    • NGINX Ingress Controller, Traefik, …
  3. Backend Service
    • Cluster 내에서 요청을 처리하는 실제 service
    • Ingress resource에서 정의한 대로 다양한 경로와 도메인을 통해 노출 가능

또한 사용하는 이유는 아래와 같다.

  1. 간소화된 routing: Routing 규칙을 한 곳에서 집중 관리하여 관리 및 유지 보수 명료화
  2. SSL/TLS 종료: SSL/TLS 인증서를 한 곳에서 처리
  3. 경로 기반 routing: URL 경로를 기반으로 요청을 다른 서비스로 연결함으로써 보다 체계적인 구조 구축
  4. 비용 효율: Routing 규칙을 통합함으로써 여러 load balancer의 필요 감소
Read more »

Introduction

Kubernetes는 container화된 application의 deployment, scaling 및 orchestration을 단순화하지만 관리 및 troubleshooting이 쉽지 않기 때문에 K9s를 사용한다!
K9s는 terminal 기반의 Kubernetes 관리 도구이며 CLI에서 전체 Kubernetes cluster의 resource를 시각적으로 탐색 및 관리할 수 있다.
주요 기능은 아래와 같다.

  1. Real-time Monitoring
    • 주요 resource를 실시간으로 모니터링
    • CPU, memory 사용량 등
  2. Resource Management
    • Pod, service, deployment 등의 resource에 대해 조회, 생성, 수정, 삭제 가능
    • YAML 파일을 직접 편집 혹은 명령 실행을 통해 관리 가능
  3. Log Exploration
    • 특정 pod 혹은 container의 log를 실시간으로 조회하고 필터링
  4. Troubleshooting
    • Kubernetes의 cluster에 발생한 문제를 신속하게 파악하고 해결할 수 있는 다양한 도구 존재
Read more »

Introduction

Kubeflow: Machine learning 및 Deep learning workload를 위한 오픈 소스 플랫폼으로, Kubernetes 위에서 실행되며 ML workload의 배포, 관리 및 확장을 용이하게 해줍니다. Kubeflow는 Kubernetes의 높은 가용성, 확장성 및 관리성과 machine learning 작업에 필요한 도구와 라이브러리를 통합하여 종합적인 ML 작업 플로우를 제공합니다.

overview

Why Kubeflow?

  1. Scalable ML Workload Management
    • Kubernetes의 강력한 scaling 및 관리 기능을 활용하여 ML workload를 효율적으로 배포하고 관리
    • 자동화된 scaling과 resource 관리는 복잡한 ML 작업에서 유용
  2. Portable Environments
    • 인프라 구성을 추상화하고 portable한 ML 작업 환경을 제공하여 로컬 머신에서 클라우드까지 다양한 환경에서 일관된 방식으로 작업할 수 있는 환경 구축
  3. Integrated Components
    • Machine learning 작업을 위한 다양한 컴포넌트를 통합하여 제공
    • Jupyter Notebook, TensorBoard, TensorFlow Serving, …
  4. Designed Pipelines
    • Kubeflow Pipelines를 통해 End-to-End machine learning workflow를 시각적으로 디자인 및 실행 가능
    • 반복적인 작업을 자동화하고 재현 가능한 실험 수행
Read more »