7.3. Mise à jour des ressources des fournisseurs de nuages à l'aide de l'utilitaire Cloud Credential Operator


Le processus de mise à niveau d'un cluster OpenShift Container Platform configuré à l'aide de l'utilitaire CCO (ccoctl) est similaire à la création des ressources du fournisseur de cloud lors de l'installation.

Note

Par défaut, ccoctl crée les objets dans le répertoire dans lequel les commandes sont exécutées. Pour créer les objets dans un autre répertoire, utilisez l'option --output-dir. Cette procédure utilise <path_to_ccoctl_output_dir> pour faire référence à ce répertoire.

Sur les clusters AWS, certaines commandes ccoctl appellent l'API AWS pour créer ou modifier des ressources AWS. Vous pouvez utiliser l'option --dry-run pour éviter les appels d'API. Cette option permet de créer des fichiers JSON sur le système de fichiers local. Vous pouvez examiner et modifier les fichiers JSON, puis les appliquer à l'aide de l'outil CLI AWS en utilisant les paramètres --cli-input-json.

Conditions préalables

  • Obtenez l'image de la version d'OpenShift Container Platform pour la version que vous mettez à niveau.
  • Extraire et préparer le binaire ccoctl à partir de l'image de sortie.

Procédure

  1. Extract the list of CredentialsRequest custom resources (CRs) from the OpenShift Container Platform release image by running the following command:

    $ oc adm release extract --credentials-requests \
      --cloud=<provider_type> \
      --to=<path_to_directory_with_list_of_credentials_requests>/credrequests \
      quay.io/<path_to>/ocp-release:<version>

    où :

    • <provider_type> est la valeur de votre fournisseur de cloud. Les valeurs valides sont alibabacloud, aws, gcp, ibmcloud, et nutanix.
    • credrequests est le répertoire dans lequel la liste des objets CredentialsRequest est stockée. Cette commande crée le répertoire s'il n'existe pas.
  2. Pour chaque CR CredentialsRequest dans l'image de version, assurez-vous qu'un espace de noms correspondant au texte du champ spec.secretRef.namespace existe dans le cluster. C'est dans ce champ que sont stockés les secrets générés qui contiennent la configuration des informations d'identification.

    Exemple d'objet AWS CredentialsRequest

    apiVersion: cloudcredential.openshift.io/v1
    kind: CredentialsRequest
    metadata:
      name: cloud-credential-operator-iam-ro
      namespace: openshift-cloud-credential-operator
    spec:
      providerSpec:
        apiVersion: cloudcredential.openshift.io/v1
        kind: AWSProviderSpec
        statementEntries:
        - effect: Allow
          action:
          - iam:GetUser
          - iam:GetUserPolicy
          - iam:ListAccessKeys
          resource: "*"
      secretRef:
        name: cloud-credential-operator-iam-ro-creds
        namespace: openshift-cloud-credential-operator 1

    1
    Ce champ indique l'espace de noms qui doit exister pour contenir le secret généré.

    Les CR CredentialsRequest pour les autres plateformes ont un format similaire avec des valeurs différentes spécifiques à la plateforme.

  3. Pour tout CredentialsRequest CR pour lequel le cluster ne dispose pas encore d'un espace de noms portant le nom spécifié dans spec.secretRef.namespace, créez l'espace de noms en exécutant la commande suivante :

    oc create namespace <component_namespace> $ oc create namespace <component_namespace>
  4. Utilisez l'outil ccoctl pour traiter tous les objets CredentialsRequest dans le répertoire credrequests en exécutant la commande correspondant à votre fournisseur de cloud. Les commandes suivantes traitent les objets CredentialsRequest:

    • Alibaba Cloud : ccoctl alibabacloud create-ram-users
    • Amazon Web Services (AWS) : ccoctl aws create-iam-roles
    • Google Cloud Platform (GCP) : ccoctl gcp create-all
    • IBM Cloud : ccoctl ibmcloud create-service-id
    • Nutanix : ccoctl nutanix create-shared-secrets
    Important

    Reportez-vous aux instructions de l'utilitaire ccoctl dans le contenu d'installation de votre fournisseur de cloud pour obtenir d'importants détails spécifiques à la plateforme sur les arguments requis et les considérations spéciales.

    Pour chaque objet CredentialsRequest, ccoctl crée les ressources fournisseur requises et une politique de permissions telle que définie dans chaque objet CredentialsRequest de l'image de la version d'OpenShift Container Platform.

  5. Appliquez les secrets à votre cluster en exécutant la commande suivante :

    $ ls <path_to_ccoctl_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}

Vérification

Vous pouvez vérifier que les ressources du fournisseur et les règles d'autorisation requises ont été créées en interrogeant le fournisseur de cloud computing. Pour plus d'informations, reportez-vous à la documentation de votre fournisseur de cloud computing sur l'établissement de listes de rôles ou de comptes de service.

Prochaines étapes

  • Mettre à jour l'annotation upgradeable-to pour indiquer que le cluster est prêt à être mis à niveau.
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.

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 leBlog 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.

© 2024 Red Hat, Inc.