3.5. 사용자 정의 메트릭 자동 확장기 트리거 인증 이해


트리거 인증을 사용하면 연관된 컨테이너에서 사용할 수 있는 확장된 개체나 확장된 작업에 인증 정보를 포함할 수 있습니다. 트리거 인증을 사용하여 OpenShift Container Platform 비밀, 플랫폼 기반 Pod 인증 메커니즘, 환경 변수 등을 전달할 수 있습니다.

크기를 조정하려는 개체와 동일한 네임스페이스에 TriggerAuthentication 개체를 정의합니다. 해당 트리거 인증은 해당 네임스페이스의 개체에서만 사용할 수 있습니다.

또는 여러 네임스페이스의 개체 간에 자격 증명을 공유하려면 모든 네임스페이스에서 사용할 수 있는 ClusterTriggerAuthentication 개체를 만들 수 있습니다.

트리거 인증과 클러스터 트리거 인증은 동일한 구성을 사용합니다. 그러나 클러스터 트리거 인증에는 확장된 개체의 인증 참조에 추가적인 종류 매개변수가 필요합니다.

기본 인증을 위한 예시 비밀번호

apiVersion: v1
kind: Secret
metadata:
  name: my-basic-secret
  namespace: default
data:
  username: "dXNlcm5hbWU=" 
1

  password: "cGFzc3dvcmQ="
Copy to Clipboard Toggle word wrap

1
트리거 인증에 제공할 사용자 이름과 비밀번호입니다. 데이터 스탠자의 값은 Base-64로 인코딩되어야 합니다.

기본 인증을 위한 비밀을 사용한 트리거 인증 예시

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: secret-triggerauthentication
  namespace: my-namespace 
1

spec:
  secretTargetRef: 
2

  - parameter: username 
3

    name: my-basic-secret 
4

    key: username 
5

  - parameter: password
    name: my-basic-secret
    key: password
Copy to Clipboard Toggle word wrap

1
크기를 조정하려는 객체의 네임스페이스를 지정합니다.
2
이 트리거 인증이 메트릭 엔드포인트에 연결할 때 권한 부여를 위해 비밀을 사용하도록 지정합니다.
3
비밀을 사용하여 제공할 인증 매개변수를 지정합니다.
4
사용할 비밀의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 비밀의 키를 지정합니다.

기본 인증을 위한 비밀을 사용한 클러스터 트리거 인증 예시

kind: ClusterTriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata: 
1

  name: secret-cluster-triggerauthentication
spec:
  secretTargetRef: 
2

  - parameter: username 
3

    name: my-basic-secret 
4

    key: username 
5

  - parameter: password
    name: my-basic-secret
    key: password
Copy to Clipboard Toggle word wrap

1
클러스터 트리거 인증에는 네임스페이스가 사용되지 않습니다.
2
이 트리거 인증이 메트릭 엔드포인트에 연결할 때 권한 부여를 위해 비밀을 사용하도록 지정합니다.
3
비밀을 사용하여 제공할 인증 매개변수를 지정합니다.
4
사용할 비밀의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 비밀의 키를 지정합니다.

인증 기관(CA) 세부 정보가 포함된 비밀번호 예시

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
  namespace: my-namespace
data:
  ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0... 
1

  client-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... 
2

  client-key.pem: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0t...
Copy to Clipboard Toggle word wrap

1
메트릭 엔드포인트 인증을 위한 TLS CA 인증서를 지정합니다. 값은 Base-64로 인코딩되어야 합니다.
2
TLS 클라이언트 인증을 위한 TLS 인증서와 키를 지정합니다. 값은 Base-64로 인코딩되어야 합니다.

CA 세부 정보에 대한 비밀을 사용하는 예제 트리거 인증

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: secret-triggerauthentication
  namespace: my-namespace 
1

spec:
  secretTargetRef: 
2

    - parameter: key 
3

      name: my-secret 
4

      key: client-key.pem 
5

    - parameter: ca 
6

      name: my-secret 
7

      key: ca-cert.pem 
8
Copy to Clipboard Toggle word wrap

1
크기를 조정하려는 객체의 네임스페이스를 지정합니다.
2
이 트리거 인증이 메트릭 엔드포인트에 연결할 때 권한 부여를 위해 비밀을 사용하도록 지정합니다.
3
사용할 인증 유형을 지정합니다.
4
사용할 비밀의 이름을 지정합니다.
5
지정된 매개변수와 함께 사용할 비밀의 키를 지정합니다.
6
메트릭 엔드포인트에 연결할 때 사용자 지정 CA에 대한 인증 매개변수를 지정합니다.
7
사용할 비밀의 이름을 지정합니다.
8
지정된 매개변수와 함께 사용할 비밀의 키를 지정합니다.

베어러 토큰을 사용한 비밀 예시

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
  namespace: my-namespace
data:
  bearerToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV" 
1
Copy to Clipboard Toggle word wrap

1
베어러 인증에 사용할 베어러 토큰을 지정합니다. 데이터 스탠자의 값은 Base-64로 인코딩되어야 합니다.

베어러 토큰을 사용한 트리거 인증 예시

kind: TriggerAuthentication
apiVersion: keda.sh/v1alpha1
metadata:
  name: token-triggerauthentication
  namespace: my-namespace 
1

spec:
  secretTargetRef: 
2

  - parameter: bearerToken 
3

    name: my-secret 
4

    key: bearerToken 
5
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

1
크기를 조정하려는 객체의 네임스페이스를 지정합니다.
2
이 트리거 인증이 메트릭 엔드포인트에 연결할 때 플랫폼 기반 Pod 인증을 사용하도록 지정합니다.
3
포드 ID를 지정합니다. 지원되는 값은 none , azure , gcp , 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>
    Copy to Clipboard Toggle word wrap

프로세스

  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
      Copy to Clipboard Toggle word wrap

    2. TriggerAuthentication 객체를 생성합니다.

      $ oc create -f <filename>.yaml
      Copy to Clipboard Toggle word wrap
  2. 트리거 인증을 사용하는 ScaledObject YAML 파일을 만들거나 편집합니다.

    1. 다음 명령을 실행하여 객체를 정의하는 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:
        - 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:
            name: prom-triggerauthentication 
      1
      
            kind: TriggerAuthentication 
      2
      Copy to Clipboard Toggle word wrap

      1
      트리거 인증 개체의 이름을 지정합니다.
      2
      TriggerAuthentication을 지정합니다. TriggerAuthentication 이 기본값입니다.

      클러스터 트리거 인증을 사용한 확장된 객체의 예

      apiVersion: keda.sh/v1alpha1
      kind: ScaledObject
      metadata:
        name: scaledobject
        namespace: my-namespace
      spec:
        scaleTargetRef:
          name: example-deployment
        maxReplicaCount: 100
        minReplicaCount: 0
        pollingInterval: 30
        triggers:
        - 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:
            name: prom-cluster-triggerauthentication 
      1
      
            kind: ClusterTriggerAuthentication 
      2
      Copy to Clipboard Toggle word wrap

      1
      트리거 인증 개체의 이름을 지정합니다.
      2
      ClusterTriggerAuthentication을 지정합니다.
    2. 다음 명령을 실행하여 크기가 조정된 객체를 만듭니다.

      $ oc apply -f <filename>
      Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat