Share via


Azure CLI를 사용하여 KEDA(Kubernetes 이벤트 기반 자동 크기 조정) 추가 기능 설치

이 문서에서는 Azure CLI를 사용하여 AKS(Azure Kubernetes Service)에 KEDA(Kubernetes 이벤트 기반 자동 크기 조정) 추가 기능을 설치하는 방법을 보여 줍니다.

Important

클러스터 Kubernetes 버전은 AKS 클러스터에 설치될 KEDA 버전을 결정합니다. 각 AKS 버전에 매핑되는 KEDA 버전을 확인하려면 Kubernetes 구성 요소 버전 테이블AKS 관리되는 추가 기능 열을 참조하세요.

GA Kubernetes 버전의 경우 AKS는 테이블에 있는 해당 KEDA 부 버전을 완벽히 지원합니다. Kubernetes 미리 보기 버전과 최신 KEDA 패치 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.

시작하기 전에

참고 항목

Microsoft Entra 워크로드 ID를 사용 중이고 워크로드 ID 전에 KEDA를 사용하도록 설정하는 경우 적절한 환경 변수를 주입할 수 있도록 KEDA 연산자 Pod를 다시 시작해야 합니다.

  1. kubectl rollout restart deployment keda-operator -n kube-system을 실행하여 Pod를 다시 시작합니다.

  2. kubectl get pod -n kube-system을 사용하여 keda-operator로 시작하는 Pod를 찾아 KEDA 연산자 Pod를 가져옵니다.

  3. kubectl describe pod <keda-operator-pod> -n kube-system을 실행하여 환경 변수를 성공적으로 주입했는지 확인합니다. Environment 아래 AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE, AZURE_AUTHORITY_HOST값이 표시됩니다.

Azure CLI를 사용하여 KEDA 추가 기능 설치

KEDA 추가 기능을 설치하려면 클러스터를 만들거나 업데이트할 때 --enable-keda를 사용합니다.

AKS 클러스터에서 KEDA 추가 기능 사용

참고 항목

KEDA는 다양한 사용자 지정 옵션을 제공하지만 KEDA 추가 기능은 현재 기본 일반 구성을 제공합니다.

사용자 지정 구성이 필요한 경우 KEDA YAML 파일을 수동으로 편집하여 설치를 사용자 지정할 수 있습니다. Azure는 사용자 지정 구성에 대한 지원을 제공하지 않습니다.

KEDA 추가 기능을 사용하도록 설정하여 새 AKS 클러스터를 만듭니다.

  1. az group create 명령을 사용하여 리소스 그룹을 만듭니다.

    az group create --name myResourceGroup --location eastus
    
  2. az aks create 명령을 사용하여 새 AKS 클러스터를 만들고 --enable-keda 플래그를 사용하여 KEDA 추가 기능을 사용하도록 설정합니다.

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-keda 
    

기존 AKS 클러스터에서 KEDA 추가 기능 사용

  • az aks update 명령을 사용하여 기존 클러스터를 업데이트하고 --enable-keda 플래그를 사용하여 KEDA 추가 기능을 사용하도록 설정합니다.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-keda 
    

클러스터의 자격 증명 가져오기

  • az aks get-credentials 명령을 사용하여 AKS 클러스터의 자격 증명을 가져옵니다.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

KEDA 추가 기능이 클러스터에 설치되어 있는지 확인

  • az aks show 명령을 사용하여 KEDA 추가 기능이 클러스터에 설치되어 있는지 확인하고 --query 매개 변수를 workloadAutoScalerProfile.keda.enabled(으)로 설정합니다.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled" 
    

    다음 예제 출력은 KEDA 추가 기능이 클러스터에 설치되어 있는지 보여줍니다.

    true
    

KEDA가 클러스터에서 실행 중인지 확인

  • kubectl get pods 명령을 사용하여 KEDA 추가 기능이 클러스터에서 실행되고 있는지 확인합니다.

    kubectl get pods -n kube-system 
    

    다음 예제 출력은 KEDA 연산자, admission 후크, 메트릭 API 서버가 클러스터에 설치되어 있음을 보여 줍니다.

    keda-admission-webhooks-**********-2n9zl           1/1     Running   0            3d18h
    keda-admission-webhooks-**********-69dkg           1/1     Running   0            3d18h
    keda-operator-*********-4hb5n                      1/1     Running   0            3d18h
    keda-operator-*********-pckpx                      1/1     Running   0            3d18h
    keda-operator-metrics-apiserver-**********-gqg4s   1/1     Running   0            3d18h
    keda-operator-metrics-apiserver-**********-trfcb   1/1     Running   0            3d18h
    

클러스터의 KEDA 버전 확인

KEDA 버전을 확인하려면 kubectl get crd/scaledobjects.keda.sh -o yaml 을 사용합니다. 예시:

kubectl get crd/scaledobjects.keda.sh -o yaml 

다음 예제 출력은 app.kubernetes.io/version 레이블의 KEDA 구성을 보여줍니다.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.9.0
    meta.helm.sh/release-name: aks-managed-keda
    meta.helm.sh/release-namespace: kube-system
  creationTimestamp: "2023-08-09T15:58:56Z"
  generation: 1
  labels:
    app.kubernetes.io/component: operator
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: keda-operator
    app.kubernetes.io/part-of: keda-operator
    app.kubernetes.io/version: 2.10.1
    helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
    helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
  name: scaledobjects.keda.sh
  resourceVersion: "1421"
  uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
  conversion:
    strategy: None
  group: keda.sh
  names:
    kind: ScaledObject
    listKind: ScaledObjectList
    plural: scaledobjects
    shortNames:
    - so
    singular: scaledobject
  scope: Namespaced
  # Redacted due to length

AKS 클러스터에서 KEDA 추가 기능 사용 안 함

  • --disable-keda 플래그가 있는 az aks update 명령을 사용하여 클러스터에서 KEDA 추가 기능을 사용하지 않도록 설정합니다.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --disable-keda 
    

다음 단계

이 문서에서는 Azure CLI를 사용하여 AKS 클러스터에 KEDA 추가 기능을 설치하는 방법을 보여줍니다.

클러스터에 KEDA 추가 기능이 설치되어 있으면 샘플 애플리케이션을 배포하여 앱 스케일링을 시작할 수 있습니다.

KEDA 문제 해결에 대한 자세한 내용은 KEDA(Kubernetes Event-driven Autoscaling) 부가기능 문제 해결을 참조하세요.

자세한 내용은 업스트림 KEDA 문서를 참조하세요.