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.
21.4.1. Bootstrapping AWS Load Balancer Operator on Security Token Service cluster Copier lienLien copié sur presse-papiers!
Conditions préalables
-
Vous devez extraire et préparer le binaire
ccoctl
.
Procédure
Créez l'espace de noms
aws-load-balancer-operator
en exécutant la commande suivante :oc create namespace aws-load-balancer-operator
$ oc create namespace aws-load-balancer-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ 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 Copied! Toggle word wrap Toggle overflow Utilisez l'outil
ccoctl
pour traiter les objetsCredentialsRequest
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>
$ 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 Copied! Toggle word wrap Toggle overflow 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 {}
$ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ oc -n aws-load-balancer-operator get secret aws-load-balancer-operator --template='{{index .data "credentials"}}' | base64 -d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
[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 Copied! Toggle word wrap Toggle overflow
21.4.2. Configuration de l'opérateur AWS Load Balancer sur le cluster Security Token Service à l'aide des objets gérés CredentialsRequest Copier lienLien copié sur presse-papiers!
Conditions préalables
-
Vous devez extraire et préparer le binaire
ccoctl
.
Procédure
L'opérateur AWS Load Balancer crée l'objet
CredentialsRequest
dans l'espace de nomsopenshift-cloud-credential-operator
pour chaque ressource personnalisée (CR)AWSLoadBalancerController
. Vous pouvez extraire et enregistrer l'objetCredentialsRequest
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
$ 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 Copied! Toggle word wrap Toggle overflow - 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ètrecr-name
indique le nom de l'instance du contrôleur AWS Load Balancer.
Utilisez l'outil
ccoctl
pour traiter tous les objetsCredentialsRequest
dans le répertoirecredrequests
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>
$ 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 Copied! Toggle word wrap Toggle overflow 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 {}
$ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le pod
aws-load-balancer-controller
est créé :oc -n aws-load-balancer-operator get pods
$ 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 Copied! Toggle word wrap Toggle overflow
21.4.3. Configuration de l'opérateur AWS Load Balancer sur le cluster Security Token Service à l'aide d'informations d'identification spécifiques Copier lienLien copié sur presse-papiers!
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
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
$ 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 Copied! Toggle word wrap Toggle overflow Utilisez l'outil
ccoctl
pour traiter l'objetCredentialsRequest
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>
$ 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 Copied! Toggle word wrap Toggle overflow Appliquez les secrets à votre cluster :
ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
$ ls manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ oc -n aws-load-balancer-operator get secret aws-load-balancer-controller-manual-cluster --template='{{index .data "credentials"}}' | base64 -d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
[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 Copied! Toggle word wrap Toggle overflow Créez le fichier YAML de la ressource
AWSLoadBalancerController
, par exemplesample-aws-lb-manual-creds.yaml
, comme suit :Copy to Clipboard Copied! Toggle word wrap Toggle overflow