Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Fournisseur CAPI

La ressource CAPIProvider permet de gérer les manifestes de l’opérateur Cluster API de manière déclarative. Elle est utilisée pour provisionner et configurer des fournisseurs Cluster API comme AWS, vSphere, etc.

CAPIProvider suit un modèle GitOps - les champs de spécification sont des entrées utilisateur déclaratives. Le contrôleur ne met à jour que l’état.

Chaque champ fourni par la ressource CAPI Operator CAPIProviderSpec en amont est également disponible dans la spécification de la ressource CAPIProvider. N’hésitez pas à vous référer à la configuration en amont guides pour des scénarios avancés.

Tous les fournisseurs CAPI certifiés sont configurés à l’aide d’une configuration intégrée. Pour le remplacer, une configuration personnalisée ClusterctlConfig doit être créée.

Syntaxe

Pour utiliser la ressource CAPIProvider :

  1. Créez une ressource CAPIProvider avec le nom du fournisseur souhaité, le type, les identifiants, la configuration et les fonctionnalités.

  2. Le contrôleur CAPIProvider se chargera de générer les manifestes requis de l’opérateur Cluster API en fonction de la spécification CAPIProvider.

  3. Le champ d’état de la ressource CAPIProvider reflétera l’état des manifestes générés.

  4. Gérez l’objet CAPIProvider de manière déclarative pour appliquer des modifications aux manifestes générés du fournisseur.

Voici un exemple de manifeste CAPIProvider :

apiVersion: turtles-capi.cattle.io/v1alpha1
kind: CAPIProvider
metadata:
  name: aws-infra
  namespace: capi-providers
spec:
  name: aws
  type: infrastructure
  enableAutomaticUpdate: true
  credentials:
    rancherCloudCredential: aws-creds # Rancher credentials secret for AWS
  configSecret:
    name: aws-config
  features:
    clusterResourceSet: true

Cela générera un fournisseur d’infrastructure AWS avec le mappage fourni pour le secret d’identification Rancher et les fonctionnalités personnalisées activées.

Le contrôleur CAPIProvider possédera toutes les ressources de fournisseur générées, permettant la collecte des déchets en supprimant l’objet CAPIProvider.

Spécification

Les champs clés dans la spécification CAPIProvider sont :

  • name - Nom du fournisseur (aws, vsphere, etc.). Hérité de metadata.name si non spécifié.

  • type - Type de ressource fournisseur (peut être défini sur core, controlPlane, bootstrap, infrastructure, addon, ipam ou runtimeextension).

  • credentials - Informations d’identification source pour la spécification du fournisseur.

  • configSecret - Nom du secret de configuration du fournisseur, où les variables et les informations d’identification synchronisées seront stockées. Par défaut, si non spécifié, héritera du nom de la ressource CAPIProvider.

  • features - Fonctionnalités du fournisseur activées.

  • variables - Les variables sont une carte des variables d’environnement à ajouter au contenu de configSecret.

  • version - La version indique la version du fournisseur.

  • enableAutomaticUpdate - Autoriser le fournisseur à se mettre à jour automatiquement. Activé par défaut uniquement sur les fournisseurs installés du graphique Turtles.

  • fetchConfig - FetchConfig détermine comment l’opérateur récupérera les composants et les métadonnées pour le fournisseur.

    • oci - OCI à utiliser pour récupérer les composants et les métadonnées du fournisseur à partir d’un artefact OCI. Vous devez définir le champ providerSpec.Version pour que l’opérateur puisse récupérer la version souhaitée de la release depuis GitHub. Si le providerSpec.Version est manquant, la dernière version du fournisseur par défaut de clusterctl est utilisée.

    • selector - Sélecteur à utiliser pour récupérer les composants et les métadonnées du fournisseur à partir des ConfigMaps stockés à l’intérieur du cluster. Chaque ConfigMap est censé contenir des composants et des métadonnées pour une version spécifique uniquement.

    • url - URL à utiliser pour récupérer les composants et les métadonnées du fournisseur à partir d’un dépôt Github distant.

Fixation de version et mises à jour automatiques

Le CAPIProvider version peut être défini à tout moment pour fixer le fournisseur à une version spécifique. De plus, automaticUpdates peut être activé pour permettre des mises à jour automatiques vers la dernière version disponible. La dernière version disponible est déterminée par la configuration clusterctl intégrée pour les fournisseurs certifiés, et elle peut être remplacée ou configurée pour des fournisseurs personnalisés en utilisant ClusterctlConfig.

Suppression

Lorsqu’une ressource CAPIProvider est supprimée, la collecte des déchets de Kubernetes nettoiera toutes les ressources de fournisseur générées qu’elle possède. Ces ressources sont les suivantes :

  • Instance de ressource de l’opérateur de l’API de cluster

  • Secret référencé par le configSecret