3.5. Comprendre les mesures personnalisées autoscaler déclenchent les authentifications


L’authentification de déclencheur vous permet d’inclure des informations d’authentification dans un objet mis à l’échelle ou un travail à l’échelle qui peut être utilisé par les conteneurs associés. Il est possible d’utiliser des authentifications de déclenchement pour transmettre Red Hat OpenShift Service sur les secrets AWS, les mécanismes d’authentification pod natifs de plate-forme, les variables d’environnement, etc.

Définissez un objet TriggerAuthentication dans le même espace de noms que l’objet que vous souhaitez mettre à l’échelle. Cette authentification de déclenchement ne peut être utilisée que par les objets de cet espace de noms.

Alternativement, pour partager des informations d’identification entre des objets dans plusieurs espaces de noms, vous pouvez créer un objet ClusterTriggerAuthentication qui peut être utilisé dans tous les espaces de noms.

Les authentifications de déclenchement et l’authentification de déclenchement de cluster utilisent la même configuration. Cependant, une authentification de déclencheur de cluster nécessite un paramètre de type supplémentaire dans la référence d’authentification de l’objet mis à l’échelle.

Exemple secret pour l’authentification de base

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

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

1
Le nom d’utilisateur et le mot de passe à fournir à l’authentification de déclenchement. Les valeurs d’une strophe de données doivent être codées en base-64.

Exemple d’authentification de déclenchement à l’aide d’un secret pour l’authentification de base

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
Indique l’espace de noms de l’objet que vous souhaitez mettre à l’échelle.
2
Indique que cette authentification déclencheur utilise un secret pour l’autorisation lors de la connexion au point de terminaison des métriques.
3
Indique le paramètre d’authentification à fournir en utilisant le secret.
4
Indique le nom du secret à utiliser.
5
Indique la clé dans le secret à utiliser avec le paramètre spécifié.

Exemple d’authentification de cluster avec un secret pour l’authentification de base

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
Il est à noter qu’aucun espace de noms n’est utilisé avec une authentification de déclenchement de cluster.
2
Indique que cette authentification déclencheur utilise un secret pour l’autorisation lors de la connexion au point de terminaison des métriques.
3
Indique le paramètre d’authentification à fournir en utilisant le secret.
4
Indique le nom du secret à utiliser.
5
Indique la clé dans le secret à utiliser avec le paramètre spécifié.

Exemple secret avec les détails de l’autorité de certification (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
Indique le certificat TLS CA pour l’authentification du point de terminaison des métriques. La valeur doit être encodée base-64.
2
Indique les certificats TLS et la clé pour l’authentification client TLS. Les valeurs doivent être encodées base-64.

Exemple d’authentification de déclenchement à l’aide d’un secret pour les détails de l’AC

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
Indique l’espace de noms de l’objet que vous souhaitez mettre à l’échelle.
2
Indique que cette authentification déclencheur utilise un secret pour l’autorisation lors de la connexion au point de terminaison des métriques.
3
Indique le type d’authentification à utiliser.
4
Indique le nom du secret à utiliser.
5
Indique la clé dans le secret à utiliser avec le paramètre spécifié.
6
Indique le paramètre d’authentification pour une CA personnalisée lors de la connexion au point de terminaison des métriques.
7
Indique le nom du secret à utiliser.
8
Indique la clé dans le secret à utiliser avec le paramètre spécifié.

Exemple secret avec un jeton porteur

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

1
Indique un jeton porteur à utiliser avec l’authentification du porteur. La valeur d’une strophe de données doit être encodée base-64.

Exemple d’authentification de déclenchement avec un jeton porteur

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
Indique l’espace de noms de l’objet que vous souhaitez mettre à l’échelle.
2
Indique que cette authentification déclencheur utilise un secret pour l’autorisation lors de la connexion au point de terminaison des métriques.
3
Indique le type d’authentification à utiliser.
4
Indique le nom du secret à utiliser.
5
Indique la clé dans le jeton à utiliser avec le paramètre spécifié.

Exemple d’authentification de déclenchement avec une variable d’environnement

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
Indique l’espace de noms de l’objet que vous souhaitez mettre à l’échelle.
2
Indique que cette authentification de déclenchement utilise des variables d’environnement pour l’autorisation lors de la connexion au point de terminaison des métriques.
3
Indiquez le paramètre à définir avec cette variable.
4
Indiquez le nom de la variable d’environnement.
5
Facultatif : Spécifiez un conteneur qui nécessite une authentification. Le conteneur doit être dans la même ressource que celle référencée par scaleTargetRef dans l’objet mis à l’échelle.

Exemple d’authentification de déclenchement avec les fournisseurs d’authentification de 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
Indique l’espace de noms de l’objet que vous souhaitez mettre à l’échelle.
2
Indique que cette authentification de déclencheur utilise une authentification pod native de plate-forme lors de la connexion au point de terminaison des métriques.
3
Indique une identité de pod. Les valeurs prises en charge ne sont pas, azure, gcp, aws-eks, ou aws-kiam. La valeur par défaut n’est pas.

Ressources supplémentaires

  • Informations sur Red Hat OpenShift Service sur AWS secrets, voir Fournir des données sensibles aux pods.

3.5.1. À l’aide d’authentifications de déclenchement

Les authentifications de déclenchement et les authentifications de déclenchement de clusters sont utilisées en utilisant une ressource personnalisée pour créer l’authentification, puis ajouter une référence à un objet à l’échelle ou à une tâche mise à l’échelle.

Conditions préalables

  • Le Custom Metrics Autoscaler Operator doit être installé.
  • Lorsque vous utilisez un secret, l’objet secret doit exister, par exemple:

    Exemple 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

Procédure

  1. Créez l’objet TriggerAuthentication ou ClusterTriggerAuthentication.

    1. Créer un fichier YAML qui définit l’objet:

      Exemple d’authentification de déclenchement avec un secret

      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. Créer l’objet TriggerAuthentication:

      $ oc create -f <filename>.yaml
      Copy to Clipboard Toggle word wrap
  2. Créer ou modifier un fichier ScaledObject YAML qui utilise l’authentification de déclencheur:

    1. Créez un fichier YAML qui définit l’objet en exécutant la commande suivante:

      Exemple d’objet mis à l’échelle avec une authentification de déclenchement

      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
      Indiquez le nom de votre objet d’authentification de déclenchement.
      2
      Indiquez TriggerAuthentication. Le TriggerAuthentication est la valeur par défaut.

      Exemple d’objet mis à l’échelle avec une authentification de déclenchement de cluster

      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
      Indiquez le nom de votre objet d’authentification de déclenchement.
      2
      Indiquez ClusterTriggerAuthentication.
    2. Créez l’objet mis à l’échelle en exécutant la commande suivante:

      $ oc apply -f <filename>
      Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat