21.4. Installation d'AWS Load Balancer Operator sur un cluster Security Token Service


Vous pouvez installer l'opérateur AWS Load Balancer sur un cluster Security Token Service (STS).

L'opérateur de l'équilibreur de charge AWS s'appuie sur CredentialsRequest pour démarrer l'opérateur et chaque instance AWSLoadBalancerController. L'opérateur d'équilibreur de charge AWS attend que les secrets requis soient créés et disponibles. Le Cloud Credential Operator ne fournit pas les secrets automatiquement dans le cluster STS. Vous devez définir les secrets d'identification manuellement à l'aide du binaire ccoctl.

Si vous ne souhaitez pas fournir de secret d'identification à l'aide de Cloud Credential Operator, vous pouvez configurer l'instance AWSLoadBalancerController sur le cluster STS en spécifiant le secret d'identification dans la ressource personnalisée (CR) du contrôleur d'équilibre de charge AWS.

Conditions préalables

  • Vous devez extraire et préparer le binaire ccoctl.

Procédure

  1. Créez l'espace de noms aws-load-balancer-operator en exécutant la commande suivante :

    $ oc create namespace aws-load-balancer-operator
    Copy to Clipboard Toggle word wrap
  2. Téléchargez la ressource personnalisée (CR) CredentialsRequest de l'opérateur AWS Load Balancer et créez un répertoire pour la stocker en exécutant la commande suivante :

    $ curl --create-dirs -o <path-to-credrequests-dir>/cr.yaml https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/main/hack/operator-credentials-request.yaml
    Copy to Clipboard Toggle word wrap
  3. Utilisez l'outil ccoctl pour traiter les objets CredentialsRequest de l'opérateur AWS Load Balancer, en exécutant la commande suivante :

    $ ccoctl aws create-iam-roles \
        --name <name> --region=<aws_region> \
        --credentials-requests-dir=<path-to-credrequests-dir> \
        --identity-provider-arn <oidc-arn>
    Copy to Clipboard Toggle word wrap
  4. Appliquez les secrets générés dans le répertoire manifests de votre cluster en exécutant la commande suivante :

    $ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
    Copy to Clipboard Toggle word wrap
  5. Vérifiez que le secret d'identification de l'opérateur AWS Load Balancer est créé en exécutant la commande suivante :

    $ oc -n aws-load-balancer-operator get secret aws-load-balancer-operator --template='{{index .data "credentials"}}' | base64 -d
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    [default]
    sts_regional_endpoints = regional
    role_arn = arn:aws:iam::999999999999:role/aws-load-balancer-operator-aws-load-balancer-operator
    web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
    Copy to Clipboard Toggle word wrap

Conditions préalables

  • Vous devez extraire et préparer le binaire ccoctl.

Procédure

  1. L'opérateur AWS Load Balancer crée l'objet CredentialsRequest dans l'espace de noms openshift-cloud-credential-operator pour chaque ressource personnalisée (CR) AWSLoadBalancerController. Vous pouvez extraire et enregistrer l'objet CredentialsRequest créé dans un répertoire en exécutant la commande suivante :

    $ oc get credentialsrequest -n openshift-cloud-credential-operator  \
        aws-load-balancer-controller-<cr-name> -o yaml > <path-to-credrequests-dir>/cr.yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    Le paramètre aws-load-balancer-controller-<cr-name> indique le nom de la demande d'informations d'identification créée par l'opérateur de l'équilibreur de charge AWS. Le paramètre cr-name indique le nom de l'instance du contrôleur AWS Load Balancer.
  2. Utilisez l'outil ccoctl pour traiter tous les objets CredentialsRequest dans le répertoire credrequests en exécutant la commande suivante :

    $ ccoctl aws create-iam-roles \
        --name <name> --region=<aws_region> \
        --credentials-requests-dir=<path-to-credrequests-dir> \
        --identity-provider-arn <oidc-arn>
    Copy to Clipboard Toggle word wrap
  3. Appliquez les secrets générés dans le répertoire manifests à votre cluster, en exécutant la commande suivante :

    $ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
    Copy to Clipboard Toggle word wrap
  4. Vérifiez que le pod aws-load-balancer-controller est créé :

    $ oc -n aws-load-balancer-operator get pods
    NAME                                                            READY   STATUS    RESTARTS   AGE
    aws-load-balancer-controller-cluster-9b766d6-gg82c              1/1     Running   0          137m
    aws-load-balancer-operator-controller-manager-b55ff68cc-85jzg   2/2     Running   0          3h26m
    Copy to Clipboard Toggle word wrap

Vous pouvez spécifier le secret d'authentification en utilisant le champ spec.credentials dans la ressource personnalisée (CR) du contrôleur AWS Load Balancer. Vous pouvez utiliser l'objet prédéfini CredentialsRequest du contrôleur pour savoir quels rôles sont requis.

Conditions préalables

  • Vous devez extraire et préparer le binaire ccoctl.

Procédure

  1. Téléchargez la ressource personnalisée CredentialsRequest (CR) du contrôleur AWS Load Balancer et créez un répertoire pour la stocker en exécutant la commande suivante :

    $ curl --create-dirs -o <path-to-credrequests-dir>/cr.yaml https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/main/hack/controller/controller-credentials-request.yaml
    Copy to Clipboard Toggle word wrap
  2. Utilisez l'outil ccoctl pour traiter l'objet CredentialsRequest du contrôleur :

    $ ccoctl aws create-iam-roles \
            --name <name> --region=<aws_region> \
            --credentials-requests-dir=<path-to-credrequests-dir> \
            --identity-provider-arn <oidc-arn>
    Copy to Clipboard Toggle word wrap
  3. Appliquez les secrets à votre cluster :

    $ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
    Copy to Clipboard Toggle word wrap
  4. Vérifiez que le secret d'identification a été créé pour être utilisé par le contrôleur :

    $ oc -n aws-load-balancer-operator get secret aws-load-balancer-controller-manual-cluster --template='{{index .data "credentials"}}' | base64 -d
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    [default]
        sts_regional_endpoints = regional
        role_arn = arn:aws:iam::999999999999:role/aws-load-balancer-operator-aws-load-balancer-controller
        web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
    Copy to Clipboard Toggle word wrap

  5. Créez le fichier YAML de la ressource AWSLoadBalancerController, par exemple sample-aws-lb-manual-creds.yaml, comme suit :

    apiVersion: networking.olm.openshift.io/v1
    kind: AWSLoadBalancerController 
    1
    
    metadata:
      name: cluster 
    2
    
    spec:
      credentials:
        name: <secret-name> 
    3
    Copy to Clipboard Toggle word wrap
    1
    Définit la ressource AWSLoadBalancerController.
    2
    Définit le nom de l'instance du contrôleur AWS Load Balancer. Ce nom d'instance est ajouté comme suffixe à toutes les ressources connexes.
    3
    Spécifie le nom secret contenant les informations d'identification AWS utilisées par le contrôleur.
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