Stratégie de rapprochement

Avec une configuration déclarative, vous définissez l'état souhaité du système. Le système travaille ensuite en permanence pour rester aussi proche que possible de cet état. Pour en savoir plus, consultez la section Gestion déclarative des objets Kubernetes à l'aide de fichiers de configuration.

Avec Config Connector, vous pouvez créer et mettre à jour des ressources dans n'importe quel ordre, indépendamment des relations de dépendance. GKE déplace la configuration que vous avez 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 la création du sujet avant de créer l'abonnement associé.

La durée pendant laquelle l'installation de Config Connector reste incohérente dépend du nombre et des 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, la création d'un PubSubTopic prend quelques secondes. Les ressources Google Cloud n'atteignent pas la cohérence tant qu'elles n'ont pas été créées. Par exemple, lors de la création d'une SQLInstance et d'une SQLDatabase, le système n'est pas cohérent pendant une période de minutes pendant la création de la base de données.

GKE et Config Connector synchronisent chaque ressource avec chaque mise à jour ou après une période de gigue d'une durée moyenne de 10 minutes. En cas d'erreur de rapprochement, Config Connector effectue de nouvelles tentatives avec un intervalle exponentiel entre les tentatives, avec un intervalle maximal de deux minutes. Vous pouvez afficher toutes les erreurs dans les événements d'une ressource donnée.

Les champs modifiables, mais illisibles sont activés uniquement lors des modifications

Certaines API exposent des champs non lisibles, mais 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 sont 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 suppression, puis recréer la ressource cible.

Dans ces situations, Config Connector émet un événement Kubernetes pour la ressource au lieu de procéder à cette recréation. Vous devez 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]