Kubernetes

KEDA - Kubernetes Event-driven Autoscaling

DevelopC 2022. 9. 28. 16:59
728x90

KEDA - Kubernetes Event-driven Autoscaling

  • 이벤트 기반 오토스케일링을 지원하는 애드온입니다.
  • 다양한 이벤트 스케일러를 활용하여 kubernetes의 HPA를 대신하여 사용할 수 있습니다.
    • KEDA 사용 시 HPA를 ScaledObject로 선언하여 사용해야합니다.
    • ScaledObject를 선언하면 내부적으로 HPA를 생성합니다.
  • CPU, Memory, Cron, AWS SQS 등 다양한 스케일러를 사용할 수 있습니다.
    • prometheus 및 datadog을 지원하여, 모니터링 메트릭을 활용하여 스케일아웃이 가능합니다.

Install

helm을 사용하여 설치합니다.

$ helm repo add kedacore https://kedacore.github.io/charts
$ helm repo update
$ helm install keda kedacore/keda -n keda --create-namespace

ScaledObject

HPA대신 ScaledObject를 생성하여 사용합니다.

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: keda-scaled-object
spec:
  # min / max count
  minReplicaCount: 1
  maxReplicaCount: 10

  # target
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx

  triggers:
  - type: cpu
    metricType: Utilization
    metadata:
      value: "70"

  - type: memory
    metricType: Utilization
    metadata:
      value: "60"

  - type: cron
    metadata:
      timezone: Asia/Seoul
      start: 00 11 * * *
      end: 00 13 * * *
      desiredReplicas: "5"

참고

 

KEDA

Application autoscaling made simple

keda.sh

 

728x90

'Kubernetes' 카테고리의 다른 글

Kyverno - Kubernetes Native Policy Management  (0) 2022.10.21
NVIDIA device plugin for Kubernetes  (2) 2022.09.29
NodeLocal DNSCache - CoreDNS 부하줄이기  (0) 2022.09.26
Amazon EFS CSI Driver  (0) 2022.09.23
Kubernetes RBAC 알아보기  (0) 2022.09.22