본문으로 건너뛰기

소개

1.1 개요

exem-k8s-agent는 Exem의 exemONE 제품의 Kubernetes Cluster 정보 수집을 담당하는 모듈입니다.

1.2 Agent

1.2.1 exem-k8s-agent

  • Deployment로 배포하며, 단일 Pod에서 전체 Cluster의 데이터를 수집합니다.
    • kubernetes의 Meta 데이터 (Object) 위주로 데이터를 감시 & 수집합니다.
    • Object의 yaml 데이터에 대한 요청이 올 경우 해당 데이터를 수집합니다.
    • k8s pod (container)의 log 데이터를 사용자의 요청에 따라 수집합니다.

1.2.2 exem-container-agent

  • DaemonSet으로 배포하며, 각 Node 별 Container의 정보와 Node Metric 정보를 수집합니다.
    • 각 Pod (Container)에서 실행중인 exem apm agent 정보를 수집합니다.

1.3 지원 spec

  • 컨테이너 오케스트레이션 (Container Orchestration)
    • Kubernetes (쿠버네티스)
    • Red Hat OpenShift (오픈시프트)
  • 컨테이너 런타임 (Container Runtime)
    • Docker (도커)
    • containerd (컨테이너디)
    • CRI-O (크리오)
  • 글로벌 / 국내 클라우드 관리형 쿠버네티스 서비스 (Managed Kubernetes)
    • AWS EKS (Amazon Elastic Kubernetes Service)
    • Azure AKS (Azure Kubernetes Service)
    • GCP GKE (Google Kubernetes Engine)
    • NHN Cloud NKS (NHN Kubernetes Service)
    • OKE (Oracle Container Engine for Kubernetes)
  • 국내 엔터프라이즈 PaaS 플랫폼
    • ACCORDION (맨텍 아코디언)

1.3.1 Kubernetes

  • v1.13 이상부터 지원 가능
    • Openshift
      • 4.16.3

1.3.2 Container Runtime Engines

  • Docker
    • 18.06.2-ce ~
  • containerd
    • 1.4.9 ~
  • cri-o
    • 1.20~

1.3.3 Cloud

  • AWS (EKS)
  • NCP (NKS)
  • OCI (OKE)
  • GCP (GKE)

1.3.4 etc

  • Accordion
  • Namespace Limit
    • CPU: [ (200m * Node Count) + 1000m ] (MilliCore)
    • Memory: [ (256Mi* Node Count) + 1024Mi ] (Mi)