Stratégie de rapprochement

Config Connector est cohérent à terme.

Avec la configuration déclarative, vous définissez l'état souhaité du système. Le système fonctionne alors en permanence pour demeurer le plus proche possible de cet état. Consultez la section Gestion déclarative des objets Kubernetes à l'aide des fichiers de configuration pour en savoir plus.

À l'aide de Config Connector, vous pouvez créer et mettre à jour des ressources dans n'importe quel ordre, quelles que soient les relations de dépendance. GKE déplace votre configuration déclarée vers la cohérence à terme avec l'état souhaité.

Par exemple, si vous créez un PubSubSubscription avant le PubSubTopic correspondant, Config Connector attend que le sujet soit créé avant de créer l'abonnement associé.

La durée de votre installation de Config Connector varie selon le nombre et les types de ressources qu'elle gère. Les modifications apportées à un cluster GKE sont généralement exécutées en quelques secondes. Cependant, le temps de création des ressources Google Cloud peut varier en fonction du type de ressource. Par exemple, cela ne prend que quelques secondes pour créer un seul PubSubTopic. Les ressources Google Cloud ne parviennent à être cohérentes qu'après leur création. Par exemple, lors de la création d'un SQLInstance et d'un SQLDatabase, le système est incohérent durant quelques minutes pendant la création de la base de données.

GKE et Config Connector rapprochent chaque ressource avec chaque mise à jour ou toutes les 10 minutes. En cas d'erreur lors du rapprochement, Config Connector effectue une nouvelle tentative toutes les 30 secondes avec un intervalle exponentiel entre les tentatives. Vous pouvez afficher toutes les erreurs dans les événements d'une ressource donnée.

Les champs modifiables, mais illisibles ne sont pris en compte que lorsque la modification est effectuée

Certaines API présentent des champs qui ne sont pas lisibles, mais qui sont modifiables (par exemple, le mot de passe d'un utilisateur SQL). En raison de l'impossibilité de voir si ces champs ont été modifiés, les champs modifiables, mais illisibles, ne seront mis à jour que lorsque la ressource personnalisée est modifiée.

Les ressources ne sont pas recréées lors de la modification de champs immuables.

Certains champs d'une ressource sont immuables et ne peuvent pas être rapprochés sans supprimer, puis recréer la ressource cible.

Dans ces situations, Config Connector émet un événement Kubernetes "UpdatedFailed" pour la ressource au lieu de réaliser cette recréation. L'utilisateur doit ensuite supprimer et recréer la ressource.

Exemple d'événement :

Warning  UpdateFailed  37m (x643 over 15d)    computeinstance-controller  Update call failed: the desired mutation for the following field(s) is invalid: [bootDisk.0.InitializeParams.0.Image networkInterface.0.NetworkIp]