Prácticas recomendadas para Config Connector
En esta página, se explican las prácticas recomendadas que debes tener en cuenta cuando usas Config Connector.
Administra los límites de cuota de la API
Si encuentras errores que indican que excediste el límite de cuota de la API, podría deberse a que creaste demasiados recursos de Config Connector del mismo tipo en el mismo proyecto de cuota. Cuando creas muchos recursos, estos pueden generar demasiadas APIs de acceso al mismo extremo de API debido al estrategia de conciliación que usa Config Connector.
Una forma de resolver este problema es solicitar un aumento de la cuota. Además de una cuota de aumento si confirmaste que el error de cuota se debe a solicitudes GET en los recursos de Google Cloud que administra tu Config Connector recursos, puedes considerar una de las siguientes opciones:
- Aumenta el intervalo de conciliación para tu Recursos de Config Connector
- Divide tus recursos en varios proyectos.
- Cambia el Config Connector al modo con espacio de nombres
Cómo aumentar el intervalo de conciliación
Puedes aumentar el tiempo que transcurre entre la conciliación de Config Connector de un recurso y la a evitar alcanzar las cuotas de las APIs. Se recomienda establecer la conciliación en 1 hora.
Para aumentar el intervalo de conciliación, sigue los pasos que se indican en Cómo configurar el intervalo de conciliación.
Divide tus recursos en varios proyectos
Este enfoque distribuye tus recursos de Config Connector en diferentes proyectos. Este enfoque funciona bien cuando se agregan recursos nuevos, pero puede
Es arriesgado dividir los recursos existentes porque necesitas borrar
y volver a crearlos en diferentes proyectos. Borrar recursos puede
causar la pérdida de datos con algunos tipos de recursos, como SpannerInstance
o
BigtableTable
recursos. Debes hacer una copia de seguridad de tus datos antes de borrarlos.
Para dividir los recursos existentes de Config Connector en diferentes proyectos, completa los siguientes pasos:
- Decide qué recursos de Config Connector planeas mover a diferentes proyectos.
- Borra los recursos de Config Connector.
Asegúrate de que no se haya establecido la anotación
cnrm.cloud.google.com/deletion-policy
aabandon
. - Actualiza el campo
spec.projectRef
ocnrm.cloud.google.com/project-id
en la configuración YAML de los recursos de Config Connector planeas pasar a los nuevos proyectos. - Otorga la cuenta de servicio de IAM que usa Config Connector de forma adecuada permisos en los proyectos nuevos.
- Aplica la configuración de YAML actualizada al Crea los recursos de Config Connector.
Cambiar al modo con espacio de nombres
Puedes vincular diferentes cuentas de servicio de IAM que pertenezcan a diferentes Proyectos de Google Cloud en diferentes espacios de nombres en los que Config Connector está instalada en modo con espacio de nombres y dividir los recursos en diferentes espacios de nombres. Para lograrlo, completa los siguientes pasos:
Configura Config Connector para que se ejecute en modo con espacio de nombres. Crear nuevas cuentas de servicio de IAM a partir de proyectos diferentes y vincularlos a diferentes espacios de nombres instrucciones para configurar Config Connector para cada proyecto.
Otorga los permisos adecuados a las nuevas cuentas de servicio de IAM para el proyecto que contiene los recursos.
Decide qué recursos de Config Connector planeas mover a diferentes los espacios de nombres.
Actualiza la configuración YAML de los recursos de Config Connector y establece la
abandon
de la anotación decnrm.cloud.google.com/deletion-policy
.Aplica la configuración actualizada de YAML para actualizar Config Connector recursos de eliminación.
Actualiza el campo
metadata.namespace
en la configuración YAML del Los recursos de Config Connector que planeas mover a los diferentes espacios de nombres.Aplica la configuración de YAML actualizada para adquirir los recursos abandonados.
Administra grupos de nodos en clústeres de GKE
Es posible que experimentes errores cuando crees un clúster si aplicas un
ContainerCluster
en Config Connector y, luego, intenta actualizar el
nodeConfig
o algún otro campo relacionado con el nodo mediante la aplicación de un
Configuración de ContainerCluster
. Estos errores se deben a campos inmutables como
como nodeConfig
, nodeConfig.labels
, nodeConfig.taint
, que es un valor técnico
limitación de la seguridad
API de Google Cloud.
Si necesitas actualizar estos campos, puedes usar la
ContainerNodePool
para administrar grupos de nodos en los que estos campos no son inmutables. Para administrar
grupos de nodos con el recurso ContainerNodePool
, debes especificar un
la anotación cnrm.cloud.google.com/remove-default-node-pool: "true"
. Esta
quita el grupo de nodos predeterminado que se crea durante
de la creación de cuentas de servicio. Luego, para crear grupos de nodos separados, especifica los campos nodeConfig
en
ContainerNodePool
en lugar de ContainerCluster
. Consulta la
Ejemplo de recurso ContainerNodePool
como referencia.
Deberías establecer la anotación
cnrm.cloud.google.com/state-into-spec: absent
para los recursos ContainerCluster
y ContainerNodePool
. Esta anotación evita posibles errores de conciliación durante la interacción entre el controlador de Config Connector y las APIs subyacentes.
En los siguientes ejemplos, se muestran un ContainerCluster
y un ContainerNodePool
.
con las siguientes anotaciones configuradas:
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerCluster metadata: name: containercluster-sample annotations: cnrm.cloud.google.com/remove-default-node-pool: "true" cnrm.cloud.google.com/state-into-spec: absent spec: description: A sample cluster. location: us-west1 initialNodeCount: 1
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerNodePool metadata: labels: label-one: "value-one" name: containernodepool-sample annotations: cnrm.cloud.google.com/state-into-spec: absent spec: location: us-west1 autoscaling: minNodeCount: 1 maxNodeCount: 3 nodeConfig: machineType: n1-standard-1 preemptible: false oauthScopes: - "https://www.googleapis.com/auth/logging.write" - "https://www.googleapis.com/auth/monitoring" clusterRef: name: containercluster-sample