Gérer les champs en externe

Lorsque Config Connector crée une ressource sur Google Cloud, les champs non renseignés dans la spécification prennent les valeurs de l'API, sauf si elles sont illisibles (par exemple, si elles ne sont pas disponibles à l'aide d'une requête HTTP GET).

Dans ce cas, le champ est considéré comme "géré en externe", car Kubernetes n'est pas la source fiable pour cette valeur.

Comportement avec application côté serveur

Si l'application côté serveur est activée pour la ressource, les valeurs des champs gérés en externe dans l'objet sont mises à jour en continu pour correspondre à la ressource Google Cloud sous-jacente.

Si une valeur est présente pour un champ de la configuration appliquée, le champ n'est pas géré en externe.

Si le champ est supprimé, il est géré en externe.

Comportement sans application côté serveur

Si l'application côté serveur n'est pas activée, les champs laissés vides dans la spécification de la ressource sont renseignés avec la valeur lue à partir de l'API Google Cloud, et appliqués par Config Connector.

Par exemple, si l'utilisateur applique une configuration de ressource sans définir de valeur pour bar dans la spécification :

spec:
    foo: "foo"

Si la valeur du champ bar est baz dans l'API Google Cloud, la ressource dans api-server est renseignée avec cette valeur :

# object in the api-server
spec:
    foo: "foo"
    bar: "baz"  # populated by first reconciliation

Si la ressource Google Cloud est modifiée directement pour que la valeur de bar soit définie sur baz-2, l'API Google Cloud est corrigée de manière à afficher la valeur initialement renseignée dans la spécification de ressource, à savoir baz :

# object in the api-server
spec:
    foo: "foo"
    bar: "baz"  # still the originally populated value, and overrides the Google Cloud value

Mises en garde

Les champs qui sont à la fois gérés par Config Connector et mis à jour automatiquement par des services externes peuvent déclencher une mise à jour sans fin sur l'API sous-jacente. Cela peut se produire si l'API sous-jacente dispose de champs d'autoscaling ou de mise à jour automatique. Assurez-vous que ces champs sont considérés comme gérés en externe en activant l'application côté serveur pour la ressource et en l'omettant de votre fichier de configuration lors de l'application.