Ressources

Config Connector comprend un ensemble de définitions de ressources personnalisées (CRD, Custom Resource Definitions). Chaque CRD vous permet de configurer une ressource Google Cloud à partir de Kubernetes. Config Connector vous permet également de tirer parti d'un certain nombre de fonctionnalités Kubernetes pour gérer les ressources Google Cloud.

Cette page explique comment Config Connector utilise les objets Kubernetes et leurs métadonnées.

Objets Kubernetes et ressources de Config Connector

Par exemple, lorsque vous créez un objet Kubernetes de kind: SQLInstance, Config Connector crée une instance Cloud SQL. Cette section décrit comment Config Connector étend les types d'objets.

Spécification et état

Chaque ressource Config Connector est un objet Kubernetes avec un Spec et un Status.

Spécification
Le champ spec contient tous les champs qui définissent l'état souhaité d'un objet, à l'exception de Labels. Les sous-champs d'un spec font référence à la ressource Google Cloud associée. Lorsque vous modifiez un sous-champ, la valeur de la ressource Google Cloud est éventuellement cohérente avec la valeur souhaitée.
Un exemple de champ accessible en écriture est databaseVersion dans une ressource d'instance SQL.
État
Le champ status est en lecture seule et contient l'état actuel de votre objet. Config Connector lit périodiquement des informations sur votre ressource Google Cloud et met à jour le status. Vous pouvez vérifier les messages d'erreur ou l'aptitude d'une ressource en consultant le champ Status.Condition.
Un exemple de champ status en lecture seule est le connectionName d'une ressource d'instance SQL.

Métadonnées des objets

Chaque ressource Config Connector comprend un champ de métadonnées. Cette section décrit comment Config Connector utilise les sous-champs dans les métadonnées.

Nom
Nom d'une ressource Config Connector. Ce nom doit suivre la convention d'attribution de noms d'un nom d'objet Kubernetes. Il est utilisé par défaut comme nom de la ressource Google Cloud correspondante. Si le champ resourceID est compatible avec la ressource Config Connector, vous pouvez spécifier un nom différent, qui suit la convention d'attribution de noms de la ressource Google Cloud, pour la ressource Google Cloud correspondante dans spec.resourceID. Pour plus d'informations, consultez la section Gérer les ressources avec le champ resourceID.
Espace de noms
L'espace de noms dans lequel vous créez une ressource Config Connector détermine le projet qui contient la ressource Google Cloud. Pour en savoir plus sur les espaces de noms, consultez la page Espaces de noms Kubernetes et projets Google Cloud.
Libellés
Les libellés du champ de métadonnées d'une ressource Config Connector sont également ajoutés à la ressource Google Cloud associée.
De plus, Config Connector ajoute un libellé système nommé managed-by-cnrm avec une valeur de true à vos ressources Google Cloud.
Annotations

Config Connector peut effectuer sur les ressources des actions supplémentaires qui ne sont pas définies dans le champ spec. Ces actions sont définies dans les sous-champs de metadata.annotations. Les valeurs d'annotation doivent être des chaînes. Les types d'annotations compatibles avec Config Connector sont décrits dans les sections suivantes.

Suppression

Par défaut, Config Connector supprime une ressource après que vous avez supprimé l'objet de votre cluster. Si vous préférez conserver la ressource, définissez l'annotation deletion-policy.

Directives

Les directives indiquent à Config Connector d'effectuer des actions supplémentaires au-delà de la création ou de la suppression de ressources.

Par exemple, Cloud Storage ne vous permet pas de supprimer un StorageBucket qui contient des objets. L'application de l'annotation force-destroy au bucket, puis la suppression de ce bucket oblige Config Connector à supprimer d'abord tous les objets du bucket, puis à supprimer le bucket.

Par exemple, la directive force-destroy est déclarée dans l'extrait de code YAML suivant.

metadata:
  annotations:
    cnrm.cloud.google.com/force-destroy: "true"

Pour identifier les ressources compatibles avec les directives, consultez la section Ressources.

Dossiers et ressources hiérarchiques

En plus de la gestion des ressources dans les produits Google Cloud, Config Connector permet de créer et de gérer des ressources dans les dossiers et organisations Google Cloud. Pour en savoir plus, consultez la section Espaces de noms et projets.

Utiliser RBAC pour le contrôle des accès

Le contrôle des accès basé sur les rôles (RBAC) de Kubernetes sécurise vos ressources. Vous pouvez contrôler la création de ressources Google Cloud en accordant des autorisations RBAC. Pour en savoir plus, consultez la section Sécuriser l'accès aux ressources.

Condition de l'état

L'aptitude que Config Connector met à disposition dans status.condition a un double objectif :

  • Indiquer quand une ressource est prête. Lorsqu'une ressource est réconciliée et prête, son status.condition.status est défini sur True. Pour vérifier si une ressource est prête, consultez la section Vérifier si une ressource est prête.
  • Afficher des informations ou des erreurs supplémentaires. L'aptitude comporte des champs Message et Reason qui fournissent des informations supplémentaires sur l'état de la ressource.

Événements

Les changements d'état importants des ressources Config Connector sont visibles en tant qu'événements Kubernetes. Pour en savoir plus, consultez la section Afficher des événements.

Configuration déclarative et cohérence à terme

Voir Rapprochement.

Étape suivante