3.5. 사용자 정의 메트릭 자동 스케일러 트리거 인증 이해


트리거 인증을 사용하면 확장된 오브젝트에 인증 정보를 포함하거나 관련 컨테이너에서 사용할 수 있는 스케일링 작업을 포함할 수 있습니다. 트리거 인증을 사용하여 OpenShift Container Platform 시크릿, 플랫폼 네이티브 Pod 인증 메커니즘, 환경 변수 등을 전달할 수 있습니다.

스케일링할 오브젝트와 동일한 네임스페이스에 TriggerAuthentication 오브젝트를 정의합니다. 이 트리거 인증은 해당 네임스페이스의 오브젝트에서만 사용할 수 있습니다.

또는 여러 네임스페이스의 오브젝트 간에 자격 증명을 공유하려면 모든 네임스페이스에서 사용할 수 있는 ClusterTriggerAuthentication 오브젝트를 생성할 수 있습니다.

인증 트리거 및 클러스터 트리거 인증은 동일한 구성을 사용합니다. 그러나 클러스터 트리거 인증에는 스케일링된 오브젝트의 인증 참조에 추가 kind 매개변수가 필요합니다.

시크릿을 사용한 트리거 인증의 예

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: secret-triggerauthentication
  namespace: my-namespace 1
spec:
  secretTargetRef: 2
  - parameter: user-name 3
    name: my-secret 4
    key: USER_NAME 5
  - parameter: password
    name: my-secret
    key: USER_PASSWORD

1
스케일링할 오브젝트의 네임스페이스를 지정합니다.
2
이 트리거 인증이 권한 부여에 보안을 사용하도록 지정합니다.
3
보안을 사용하여 제공할 인증 매개 변수를 지정합니다.
4
사용할 보안의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 시크릿의 키를 지정합니다.

시크릿을 사용한 클러스터 트리거 인증의 예

kind: ClusterTriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata: 1
  name: secret-cluster-triggerauthentication
spec:
  secretTargetRef: 2
  - parameter: user-name 3
    name: secret-name 4
    key: USER_NAME 5
  - parameter: user-password
    name: secret-name
    key: USER_PASSWORD

1
클러스터 트리거 인증과 함께 사용되는 네임스페이스는 없습니다.
2
이 트리거 인증이 권한 부여에 보안을 사용하도록 지정합니다.
3
보안을 사용하여 제공할 인증 매개 변수를 지정합니다.
4
사용할 보안의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 시크릿의 키를 지정합니다.

토큰을 사용한 트리거 인증 예

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: token-triggerauthentication
  namespace: my-namespace 1
spec:
  secretTargetRef: 2
  - parameter: bearerToken 3
    name: my-token-2vzfq 4
    key: token 5
  - parameter: ca
    name: my-token-2vzfq
    key: ca.crt

1
스케일링할 오브젝트의 네임스페이스를 지정합니다.
2
이 트리거 인증이 권한 부여에 보안을 사용하도록 지정합니다.
3
토큰을 사용하여 제공할 인증 매개 변수를 지정합니다.
4
사용할 토큰의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 토큰의 키를 지정합니다.

환경 변수를 사용한 트리거 인증 예

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: env-var-triggerauthentication
  namespace: my-namespace 1
spec:
  env: 2
  - parameter: access_key 3
    name: ACCESS_KEY 4
    containerName: my-container 5

1
스케일링할 오브젝트의 네임스페이스를 지정합니다.
2
이 트리거 인증이 권한 부여에 환경 변수를 사용하도록 지정합니다.
3
이 변수로 설정할 매개변수를 지정합니다.
4
환경 변수의 이름을 지정합니다.
5
선택 사항: 인증이 필요한 컨테이너를 지정합니다. 컨테이너는 스케일링된 오브젝트의 scaleTargetRef 에서 참조하는 것과 동일한 리소스에 있어야 합니다.

Pod 인증 공급자를 사용한 트리거 인증의 예

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: pod-id-triggerauthentication
  namespace: my-namespace 1
spec:
  podIdentity: 2
    provider: aws-eks 3

1
스케일링할 오브젝트의 네임스페이스를 지정합니다.
2
이 트리거 인증에서 권한 부여에 플랫폼 네이티브 Pod 인증 방법을 사용하도록 지정합니다.
3
Pod ID를 지정합니다. 지원되는 값은 none,azure,aws-eks, 또는 aws-kiam 입니다. 기본값은 none 입니다.

추가 리소스

3.5.1. 트리거 인증 사용

사용자 정의 리소스를 사용하여 인증을 생성한 다음 확장된 오브젝트 또는 확장된 작업에 대한 참조를 추가하여 트리거 인증 및 클러스터 트리거 인증을 사용합니다.

사전 요구 사항

  • Custom Metrics Autoscaler Operator가 설치되어 있어야 합니다.
  • 보안을 사용하는 경우 Secret 오브젝트가 있어야 합니다. 예를 들면 다음과 같습니다.

    시크릿 예

    apiVersion: v1
    kind: Secret
    metadata:
      name: my-secret
    data:
      user-name: <base64_USER_NAME>
      password: <base64_USER_PASSWORD>

프로세스

  1. TriggerAuthentication 또는 ClusterTriggerAuthentication 오브젝트를 생성합니다.

    1. 오브젝트를 정의하는 YAML 파일을 생성합니다.

      시크릿을 사용한 트리거 인증의 예

      kind: TriggerAuthentication
      apiVersion: keda.sh/v1alpha1
      metadata:
        name: prom-triggerauthentication
        namespace: my-namespace
      spec:
        secretTargetRef:
        - parameter: user-name
          name: my-secret
          key: USER_NAME
        - parameter: password
          name: my-secret
          key: USER_PASSWORD

    2. TriggerAuthentication 오브젝트를 생성합니다.

      $ oc create -f <file-name>.yaml
  2. scaled Object YAML 파일을 생성하거나 편집합니다.

    스케일링 오브젝트의 예

    apiVersion: keda.sh/v1alpha1
    kind: ScaledObject
    metadata:
      name: scaledobject
      namespace: my-namespace
    spec:
      scaleTargetRef:
        name: example-deployment
      maxReplicaCount: 100
      minReplicaCount: 0
      pollingInterval: 30
      triggers:
      - authenticationRef:
        type: prometheus
        metadata:
          serverAddress: https://thanos-querier.openshift-monitoring.svc.cluster.local:9092
          namespace: kedatest # replace <NAMESPACE>
          metricName: http_requests_total
          threshold: '5'
          query: sum(rate(http_requests_total{job="test-app"}[1m]))
          authModes: "basic"
        - authenticationRef: 1
            name: prom-triggerauthentication
          metadata:
            name: prom-triggerauthentication
          type: object
        - authenticationRef: 2
            name: prom-cluster-triggerauthentication
            kind: ClusterTriggerAuthentication
          metadata:
            name: prom-cluster-triggerauthentication
          type: object

    1
    선택 사항: 트리거 인증을 지정합니다.
    2
    선택 사항: 클러스터 트리거 인증을 지정합니다. kind: ClusterTriggerAuthentication 매개변수를 포함해야 합니다.
    참고

    네임스페이스 트리거 인증과 클러스터 트리거 인증을 모두 지정할 필요는 없습니다.

  3. 오브젝트를 생성합니다. 예를 들면 다음과 같습니다.

    $ oc apply -f <file-name>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.