menu
arrow_back

Cómo conectarse a Cloud SQL desde una aplicación en Kubernetes Engine

Cómo conectarse a Cloud SQL desde una aplicación en Kubernetes Engine

1 hora 15 minutos 7 créditos

GSP449

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, se muestra lo fácil que es conectar una aplicación en Kubernetes Engine a una instancia de Cloud SQL a través del contenedor del proxy de Cloud SQL como contenedor de archivo adicional. Implementará un clúster de Kubernetes Engine y una instancia Postgres de Cloud SQL, y utilizará el contenedor del proxy de Cloud SQL para permitir la comunicación entre ellos.

Aunque este lab se enfoca en cómo conectarse a una instancia de Cloud SQL con un contenedor del proxy de Cloud SQL, los conceptos son los mismos para cualquier servicio administrado de GCP que requiera acceso a la API.

A este lab lo crearon ingenieros de GKE Helmsman para ayudarlo a comprender mejor Cloud SQL a través de un contenedor del proxy. Puede ver esta demostración en GitHub. Lo invitamos a hacer cualquier aporte que crea conveniente.

Los conceptos principales son los siguientes:

  • Cómo proteger su base de datos de accesos no autorizados mediante el uso de una cuenta de servicio sin privilegios en sus nodos de Kubernetes Engine

  • Cómo colocar credenciales de una cuenta de servicio con privilegios en un contenedor que se ejecuta en Kubernetes Engine

  • Cómo usar el proxy de Cloud SQL para disminuir el trabajo que implica conectarse a su instancia de Cloud SQL y reducir el conocimiento que sus aplicaciones tienen de su infraestructura

Cuentas de servicio sin privilegios

A cada nodo de Kubernetes Engine se le asigna la cuenta de servicio predeterminada de Compute Engine. Esa cuenta de servicio posee una gran cantidad de privilegios y tiene acceso a muchos servicios de GCP. Debido a la forma en que está configurado el SDK de Google Cloud, el software que escriba usará las credenciales asignadas a la instancia de Compute Engine en la que se ejecuta. Como no queremos que todos sus contenedores tengan los privilegios que posee la cuenta de servicio predeterminada de Compute Engine, deberá crear una cuenta de servicio con privilegios mínimos para sus nodos de Kubernetes Engine y, luego, crear cuentas de servicio más específicas (también con privilegios mínimos) para sus contenedores.

Cuentas de servicio con privilegios en contenedores

Las únicas dos formas de conseguir cuentas de servicio son a través de las siguientes opciones:

  1. Su instancia de host (no recomendado)
  2. Un archivo de credenciales

En este lab, se mostrará cómo colocar el archivo de credenciales en su contenedor que se ejecuta en Kubernetes Engine, de modo que su aplicación tenga los privilegios que necesita.

Proxy de Cloud SQL

El proxy de Cloud SQL se encarga de crear y mantener una conexión a su instancia de Cloud SQL para que no deba hacerlo usted mismo. Esto simplifica su administración secreta y permite que su aplicación no conozca los detalles de la conexión. Google empaqueta el proxy de Cloud SQL como un contenedor de Docker que se puede ejecutar junto con el contenedor de su aplicación, en el mismo pod de Kubernetes Engine.

Únase a Qwiklabs para leer este lab completo… y mucho más.

  • Obtenga acceso temporal a Google Cloud Console.
  • Más de 200 labs para principiantes y niveles avanzados.
  • El contenido se presenta de a poco para que pueda aprender a su propio ritmo.
Únase para comenzar este lab
Puntuación

—/100

Create required resources with the fully automated deployment

Ejecutar paso

/ 100