Administra campos de manera externa

Cuando Config Connector crea un recurso en Google Cloud, los campos que no se incluyen en la especificación toman valores de la API, a menos que no sean legibles (por ejemplo, no están disponibles mediante una solicitud HTTP GET).

En este caso, el campo se considera “administrado de forma externa”, ya que Kubernetes no es la fuente de información para este valor.

Comportamiento con aplicación del servidor

Si la aplicación del servidor está habilitada para el recurso, los valores de los campos administrados de forma externa en el objeto se actualizan de manera continua para que coincidan con el recurso subyacente de Google Cloud.

Si hay un valor presente para un campo en la especificación en la configuración aplicada, el campo no se administra de forma externa.

Si se quita el campo, se lo administra de forma externa.

Comportamiento sin aplicación del servidor

Si la aplicación del servidor no está habilitada, los campos que no se incluyen en la especificación del recurso se propagan con el valor leído de la API de Google Cloud, y Config Connector aplica esos valores propagados inicialmente.

A continuación, se muestra un ejemplo: si el usuario aplica una configuración de recursos sin establecer un valor para bar en la especificación:

spec:
    foo: "foo"

Si el valor del campo bar es baz en la API de Google Cloud, el recurso en el api-server se propaga a ese valor:

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

Si el recurso de Google Cloud se modifica directamente de modo que bar ahora sea baz-2, la API de Google Cloud se corrige en el valor que se propagó inicialmente en la especificación del recurso: baz:

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

Advertencias

Los campos administrados por Config Connector y los servicios externos los actualizan de forma automática pueden activar actualizaciones infinitas en la API subyacente. Esto puede suceder si la API subyacente tiene campos de ajuste de escala automático o de actualización automática. Asegúrate de que estos campos se traten como administrados de forma externa. Para ello, habilita la aplicación en el servidor del recurso y deja el campo fuera del archivo de configuración cuando realices la aplicación.