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.
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
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 sontalibabacloud
,aws
,gcp
,ibmcloud
, etnutanix
. -
credrequests
est le répertoire dans lequel la liste des objetsCredentialsRequest
est stockée. Cette commande crée le répertoire s'il n'existe pas.
-
Pour chaque CR
CredentialsRequest
dans l'image de version, assurez-vous qu'un espace de noms correspondant au texte du champspec.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.Pour tout
CredentialsRequest
CR pour lequel le cluster ne dispose pas encore d'un espace de noms portant le nom spécifié dansspec.secretRef.namespace
, créez l'espace de noms en exécutant la commande suivante :oc create namespace <component_namespace> $ oc create namespace <component_namespace>
Utilisez l'outil
ccoctl
pour traiter tous les objetsCredentialsRequest
dans le répertoirecredrequests
en exécutant la commande correspondant à votre fournisseur de cloud. Les commandes suivantes traitent les objetsCredentialsRequest
:-
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
ImportantReportez-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 objetCredentialsRequest
de l'image de la version d'OpenShift Container Platform.-
Alibaba Cloud :
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.
Ressources supplémentaires
-
Création d'identifiants Alibaba Cloud pour les composants OpenShift Container Platform avec l'outil
ccoctl
- Création de ressources AWS avec l'utilitaire Cloud Credential Operator
- Création de ressources GCP avec l'utilitaire Cloud Credential Operator
- Création manuelle de l'IAM pour IBM Cloud VPC
- Configurer IAM pour Nutanix
- Indique que la grappe est prête à être mise à niveau