Descripción general de Config Connector
Config Connector es un complemento de Kubernetes de código abierto que te permite administrar recursos deGoogle Cloud a través de Kubernetes.
Muchos equipos de desarrollo nativos de la nube funcionan con una combinación de sistemas de configuración, API y herramientas para administrar su infraestructura. Esta combinación suele ser difícil de entender, lo que genera errores de velocidad y errores costosos. Config Connector proporciona un método para configurar muchos servicios y recursos deGoogle Cloud con las APIs y herramientas de Kubernetes.
Con Config Connector, tus entornos pueden usar recursos administrados por Kubernetes, incluidos los siguientes:
- RBAC para el control de acceso
- Eventos para la visibilidad
- Fuente única de configuración y administración de estado deseada para reducir la complejidad
- Coherencia eventual a través de dependencias poco acopladas
Puedes administrar tu Google Cloud infraestructura de la misma manera que administras tus aplicaciones de Kubernetes, lo que reduce la complejidad y la carga cognitiva de los desarrolladores.
Cómo funciona Config Connector
Config Connector proporciona una colección de definiciones de recursos personalizados (CRD) y controladores de Kubernetes. Las CRD de Config Connector permiten que Kubernetes cree y administre Google Cloud recursos cuando configuras y aplicas objetos a tu clúster.
Para que las CRD de Config Connector funcionen correctamente, Config Connector implementa Pods en tus nodos que tienen permisos de RBAC elevados, como la capacidad de crear, borrar, obtener y enumerar CustomResourceDefinitions (CRD). Estos permisos son necesarios para que Config Connector cree y reconcilie recursos de Kubernetes.
Cuando configuras y aplicas objetos a tu clúster, Config Connector reconcilia el estado configurado con las APIs de Google Cloud de forma asíncrona. La conciliación se ejecuta con la identidad de la cuenta de servicio de IAM de Config Connector, no con la identidad del usuario humano o de la cuenta de servicio que envió el manifiesto a Kubernetes.
La capacidad de crear recursos de Kubernetes en un espacio de nombres (en el modo de espacio de nombres) o clúster (en el modo de clúster) de Config Connector otorga autorización para cambiar los recursos de la nube con la identidad de Config Connector. Este mecanismo es similar a las canalizaciones de CI/CD, en las que la capacidad de combinar código en un repositorio también permite que ese código se implemente con la identidad de la canalización. La seguridad del sistema depende de controlar de forma estricta quién puede crear esos objetos, por ejemplo, haciendo que un controlador de Kubernetes aplique recursos de Config Connector desde un repositorio de código de confianza.
Este enfoque delega la autoridad para la administración de acceso amplio a la nube en Config Connector, al tiempo que restringe el acceso de desarrolladores individuales a través del control de código fuente del repositorio. Esto es más seguro que otorgar a cada desarrollador acceso para modificar los recursos de la nube directamente.
Para comenzar, instala Config Connector y crea tu primer recurso. Los controladores de Config Connector, con el tiempo, concilian tu entorno con el estado deseado.
Personaliza el comportamiento de Config Connector
Config Connector proporciona funciones adicionales más allá de la creación de recursos. Por ejemplo, puedes administrar recursos Google Cloud existentes y usar Secrets de Kubernetes para proporcionar datos sensibles, como contraseñas, a tus recursos. Para obtener más información, consulta la lista de guías prácticas.
Para obtener más información sobre cómo Config Connector usa los recursos personalizados, consulta Acerca de las CRD de Config Connector. Para obtener la lista completa de los recursos de Google Cloud compatibles con Config Connector, consulta la documentación de referencia de Config Connector.
¿Qué sigue?
- Instala Config Connector.
- Comienza creando tu primer recurso.
- Explora el código fuente de Config Connector. Config Connector es completamente de código abierto en GitHub.