Recursos

En Config Connector, se incluye una colección de definiciones de recursos personalizados (CRD). Cada CRD te permite configurar un recurso de Google Cloud desde Kubernetes. Config Connector también te permite aprovechar una serie de funciones de Kubernetes para administrar los recursos de Google Cloud.

En esta página, se presenta cómo Config Connector usa los objetos de Kubernetes y sus metadatos.

Objetos de Kubernetes y recursos de Config Connector

Por ejemplo, cuando creas un Objeto de Kubernetes de kind: SQLInstance, Config Connector crea una Instancia de Cloud SQL. En esta sección, se describe cómo Config Connector extiende los tipos de objeto.

Especificación y estado

Cada recurso de Config Connector es un objeto Kubernetes con un Spec y un Status.

Spec
El campo spec contiene todos los campos que definen el estado deseado de un objeto, excepto Labels. Los subcampos de un spec hacen referencia al recurso de Google Cloud asociado. Cuando cambias un subcampo, el valor del recurso de Google Cloud tiene coherencia eventual con el valor previsto.
En un ejemplo de un campo que admite escritura es databaseVersion en un recurso SQLInstance.
Estado
El campo status es de solo lectura y contiene el estado actual del objeto. Config Connector lee de forma periódica la información sobre el recurso de Google Cloud y actualiza el status. Puedes verificar los mensajes de error o la preparación de un recurso si consultas Status.Condition.
Un ejemplo de campo de solo lectura status es el connectionName de un recurso de SQLInstance.

Metadatos de objeto

Cada recurso de Config Connector incluye un campo de metadatos. En esta sección, se describe cómo Config Connector usa subcampos dentro de los metadatos.

Nombre
El nombre de un recurso de Config Connector. Debe seguir la convención de nombres del nombre de un objeto de Kubernetes. Se usa de forma predeterminada como el nombre del recurso de Google Cloud correspondiente. Si el campo resourceID es compatible con el recurso de Config Connector, puedes especificar un nombre diferente, que siga la convención de nombres del recurso de Google Cloud para el recurso de Google Cloud correspondiente en el campo spec.resourceID. Para obtener más información, consulta Administra recursos con el campo resourceID.
Espacio de nombres
El espacio de nombres en el que crea un recurso de Config Connector determina el proyecto que contiene el recurso de Google Cloud. Para obtener más información sobre los espacios de nombres, consulta Espacios de nombres de Kubernetes y Google Cloud Projects.
Labels
Las etiquetas en el campo de metadatos de un recurso de Config Connector también se agregan al recurso asociado de Google Cloud.
Además, Config Connector agrega una etiqueta del sistema llamada managed-by-cnrm con un valor de true a sus recursos de Google Cloud.
Anotaciones

Config Connector puede realizar acciones adicionales en tus recursos que no están definidas en spec. Estas acciones se definen en los subcampos metadata.annotations. Los valores de anotación deben ser una string. Los tipos de anotaciones que admite Config Connector se describen en las siguientes secciones.

Eliminación

De forma predeterminada, Config Connector borra un recurso después de borrar el objeto del clúster. Si prefieres conservar el recurso, configura la anotación deletion-policy.

Directivas

Las directivas configuran Config Connector para tomar acciones adicionales más allá de crear o borrar recursos.

Por ejemplo, Cloud Storage no te permite borrar un StorageBucket que contiene objetos. Cuando aplicas la anotación force-destroy al depósito y, luego, borras el depósito, Config Connector borra primero todos los objetos dentro del depósito, y luego, el depósito.

Por ejemplo, la directiva force-destroy se declara en el siguiente fragmento YAML.

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

Para saber qué recursos admiten directivas, consulta Recursos.

Carpetas y recursos jerárquicos

Además de administrar recursos en productos de Google Cloud, Config Connector admite la creación y administración de recursos dentro de las carpetas y organizaciones de Google Cloud. Para obtener más información, consulta Espacios de nombres y proyectos.

Usa RBAC para el control de acceso

El Control de acceso basado según las funciones de Kubernetes (RBAC) asegura los recursos. Puedes controlar la creación de recursos de Google Cloud si asignas permisos RBAC. Para obtener más información, consulta Asegura el acceso a los recursos.

Condición de estado

Config Connector usa una condición de preparación en status.condition con dos propósitos:

  • indicar cuándo está listo un recurso. Cuando un recurso está conciliado y listo, su status.condition.status se establecerá como True. Para verificar cuándo un recurso está listo, consulta Espera que los recursos estén listos
  • mostrar información o error adicional. La condición de preparación tiene los campos Message y Reason que proporcionan información adicional sobre el estado del recurso.

Eventos

Los cambios de estado importantes para los recursos de Config Connector son visibles como eventos de Kubernetes. Para obtener más información, consulta Ve los eventos.

Configuración declarativa y coherencia eventual

Consulta Conciliación.

¿Qué sigue?