Conéctate a Cloud SQL para MySQL desde Google Kubernetes Engine
En esta página, se muestra cómo implementar una app de ejemplo en Google Kubernetes Engine (GKE) conectada a una instancia de MySQL mediante la consola de Google Cloud y una aplicación cliente. Los recursos creados en esta guía de inicio rápido suelen costar menos de un dólar, bajo la suposición de que completas los pasos, incluida la limpieza, de manera correcta.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Habilita las API de Google Cloud necesarias para ejecutar una aplicación de muestra de Cloud SQL en GKE.
Haz clic en Habilitar las API para habilitar las API necesarias en esta guía de inicio rápido.
Esto habilita las siguientes API:
- API de Compute Engine
- API de Cloud SQL Admin
- API de Google Kubernetes Engine
- API de Artifact Registry
- API de Cloud Build
Haz clic en el siguiente botón para abrir Cloud Shell, que proporciona acceso de línea de comandos a tus recursos de Google Cloud directamente desde el navegador. Cloud Shell se puede usar para ejecutar los comandos de
gcloud
que se presentan en esta guía de inicio rápido.Ejecuta el comando
gcloud services enable
de la siguiente manera con Cloud Shell a fin de habilitar las API necesarias para esta guía de inicio rápido:gcloud services enable compute.googleapis.com sqladmin.googleapis.com \ container.googleapis.com artifactregistry.googleapis.com cloudbuild.googleapis.com
Este comando habilita las siguientes API:
- API de Compute Engine
- API de Cloud SQL Admin
- API de GKE
- API de Artifact Registry
- API de Cloud Build
Configura Cloud SQL
Crea una instancia de Cloud SQL
IP pública
Crea una instancia con una dirección IP pública
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Haz clic en Crear instancia.
- Haz clic en MySQL.
- Ingresa
quickstart-instance
en ID de la instancia. - Ingresa una contraseña para el usuario raíz. Guarda esta contraseña para usarla más adelante.
- Haz clic en la opción Zona única para elegir la región y la disponibilidad zonal.
- Haz clic y expande la sección Mostrar configuraciones.
- En el menú desplegable Tipo de máquina, selecciona Mantenimiento ligero.
Haz clic en Crear instancia y espera a que la instancia se inicialice.
Crea una instancia con una dirección IP pública
Antes de ejecutar el comando gcloud
sql instances create
de la siguiente manera, reemplaza DB_ROOT_PASSWORD por la contraseña del usuario de la base de datos.
De manera opcional, modifica los valores para los siguientes parámetros:
- --database_version: el tipo de motor de la base de datos y la versión. Si no se especifica, se usa la configuración predeterminada de API. Consulta la documentación de las versiones de la base de datos de gcloud para ver las versiones actualmente disponibles.
- --cpu: Es la cantidad de núcleos deseados en la máquina.
- --memory: valor de número entero que indica la cantidad de memoria que se desea en la máquina. Se debe proporcionar una unidad de tamaño (por ejemplo, 3,072 MB o 9 GB). Si no se especifican unidades, se supone que es GB.
- --region: ubicación regional de la instancia (por ejemplo, asia-east1, us-east1). Si no se especifica, el valor predeterminado es
us-central
. Consulta la lista completa de regiones.
Ejecuta el comando gcloud
sql instances create
para crear una instancia de Cloud SQL.
gcloud sql instances createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD
IP privada
Crea una instancia con una dirección IP privada y SSL habilitado
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Haz clic en Crear instancia.
- Haz clic en MySQL.
- Ingresa
quickstart-instance
en ID de la instancia. - Ingresa una contraseña para el usuario raíz. Guarda esta contraseña para usarla más adelante.
- Haz clic en la opción Zona única para elegir la región y la disponibilidad zonal.
- Haz clic y expande Mostrar opciones de configuración.
- En Tipo de máquina, selecciona Ligera.
- En Conexiones, selecciona IP privada.
- Selecciona configuración predeterminada en el menú desplegable Red.
- Si ves un cuadro de diálogo que indica se requiere una conexión de acceso privado a servicios, haz clic en el botón Configurar conexión.
- En el cuadro de diálogo Habilitar API de Herramientas de redes de servicios, haz clic en el botón Habilitar API.
- En el cuadro de diálogo Asignar un rango de IP, selecciona Usar un rango de IP asignado de forma automática y haz clic en Continuar.
- En el diálogo Crear una conexión, haz clic en Crear conexión.
- Desmarca la casilla de verificación IP pública para crear una instancia solo con una IP privada.
- Haz clic en Crear instancia y espera a que la instancia se inicialice y se inicie.
- Haz clic en Conexiones.
- En la sección Seguridad, selecciona Solo permitir conexiones SSL para habilitar las conexiones SSL.
- En el cuadro de diálogo Habilitar SSL, haz clic en Habilitar y reiniciar y, luego, espera a que la instancia se reinicie.
Crea una instancia con una dirección IP privada y SSL habilitado
Crear una instancia con una dirección IP privada solo requiere configurar el acceso privado a servicios para habilitar conexiones de otros servicios de Google Cloud , como GKE.
- Ejecuta el comando
gcloud compute addresses create
a fin de asignar un rango de IP para una conexión de acceso a servicios privados: - Ejecuta el comando
gcloud services vpc-peerings connect
para crear la conexión de acceso privado a servicios: -
Antes de ejecutar el comando
gcloud sql instances create
para crear una instancia, reemplaza DB_ROOT_PASSWORD por la contraseña del usuario de la base de datos. - --database_version: el tipo de motor de la base de datos y la versión. Si no se especifica, se usa la configuración predeterminada de API. Consulta versiones de bases de datos de gcloud para obtener una lista de las versiones disponibles actualmente.
- --cpu: Es la cantidad de núcleos en la máquina.
- --memory: Es un número entero que indica cuánta memoria se debe incluir en la máquina. Se puede proporcionar una unidad de tamaño (por ejemplo, 3,072 MB o 9 GB). Si no se especifican unidades, se supone que es GB.
- --region: Es la ubicación regional de la instancia (por ejemplo, asia-east1, us-east1). Si no se especifica, el valor predeterminado es
us-central1
. Consulta la lista completa de regiones. Ejecuta el comando
gcloud sql instances patch
a fin de permitir solo conexiones SSL para la instancia.
gcloud compute addresses create google-managed-services-default \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for Google" \ --network=default
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-default \ --network=default
De manera opcional, modifica los valores para los siguientes parámetros:
Ejecuta el comando gcloud
sql instances create
para crear una instancia de Cloud SQL con una dirección IP privada.
gcloud beta sql instances createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
Crea una base de datos
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Selecciona
quickstart-instance
. - En el menú de navegación de SQL, selecciona Bases de datos.
- Haga clic en Crear base de datos.
- En el campo Nombre de la base de datos del cuadro de diálogo Crear una base de datos, ingresa
quickstart-db
. Deja los valores para el grupo de caracteres y la intercalación. - Haz clic en Crear.
Ejecuta el comando gcloud
sql databases create
para crear una base de datos.
gcloud sql databases createquickstart-db --instance=quickstart-instance
Crea un usuario
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Usuarios en el menú de navegación de SQL.
- Haz clic en Agregar cuenta de usuario.
- En la página Agrega una cuenta de usuario a la instancia instance_name, agrega la siguiente información:
- Nombre de usuario: Configurado como
quickstart-user
- Contraseña: especifica una contraseña para tu usuario de la base de datos. Toma nota de esto para usarlo en un paso posterior de esta guía de inicio rápido.
- En la sección Nombre de host, el valor predeterminado es Permitir cualquier host, lo que significa que el usuario puede conectarse desde cualquier dirección IP.
De manera opcional, selecciona Restringir host por dirección IP o rango de direcciones y, luego, ingresa una dirección IP o un rango de direcciones en la sección Host. Luego, el usuario solo podrá conectarse desde la dirección IP o las direcciones especificadas.
- Nombre de usuario: Configurado como
- Haz clic en Agregar.
Antes de ejecutar el comando de la siguiente manera, reemplaza DB_PASS por una contraseña para el usuario de tu base de datos. Toma nota de esto para usarlo en un paso posterior de esta guía de inicio rápido.
Ejecuta el comando gcloud sql users create
para crear el usuario.
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=DB_PASS
Los límites de longitud de los nombres de usuario son los mismos para Cloud SQL que para MySQL local: 32 caracteres en MySQL 8.0 y posteriores, y 16 caracteres en las versiones anteriores.
Cree un clúster de GKE
-
En la consola de Google Cloud, ve a la página Google Kubernetes Engine.
- Haz clic en Crear.
- Haz clic en Configurar para Autopilot de GKE.
- En Nombre, especifica el nombre del clúster como
gke-cloud-sql-quickstart
. - Haz clic en Crear.
Ejecuta el comando gcloud container clusters create-auto
para crear el clúster.
gcloud container clusters create-autogke-cloud-sql-quickstart \ --regionus-central1
Clona una app de ejemplo de Cloud SQL en el editor de Cloud Shell
Con una instancia de Cloud SQL, una base de datos y un clúster de GKE, ahora puedes clonar y configurar una aplicación de muestra para conectarte a tu instancia de Cloud SQL. En los pasos restantes de esta guía de inicio rápido, se requiere el uso de las herramientas de línea de comandos de gcloud
y kubectl
. Ambas herramientas están preinstaladas en Cloud Shell.
-
En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
Abrir Cloud Shell Editor -
En el cuadro de diálogo
Open in Cloud Shell
, haz clic en Confirmar para descargar el código de la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
-
En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
Abrir el Editor de Cloud Shell -
En el cuadro de diálogo
Open in Cloud Shell
, haz clic en Confirmar para descargar el código de la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
-
En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
Abrir el Editor de Cloud Shell -
En el cuadro de diálogo
Open in Cloud Shell
, haz clic en Confirmar para descargar el código de la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
-
En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
Abrir el Editor de Cloud Shell -
En el cuadro de diálogo
Open in Cloud Shell
, haz clic en Confirmar para descargar el código de la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
Habilita el clúster de GKE
Habilita el clúster de GKE que acabas de crear como el clúster predeterminado que se usará para los comandos restantes en esta guía de inicio rápido.
gcloud container clusters get-credentials
de la siguiente manera para habilitar el clúster de GKE.
gcloud container clusters get-credentialsgke-cloud-sql-quickstart \ --regionus-central1
Configurar una cuenta de servicio
-
Ejecuta el comando
gcloud iam service-accounts create
de la siguiente manera para crear una cuenta de servicio nueva:gcloud iam service-accounts create gke-quickstart-service-account \ --display-name="GKE Quickstart Service Account"
- Ejecuta el comando
gcloud projects add-iam-policy-binding
de la siguiente manera para agregar el rol de cliente de Cloud SQL a la cuenta de servicio Google Cloud que acabas de crear. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/cloudsql.client" - La app de ejemplo usa el registro, por lo que debes ejecutar el comando
gcloud projects add-iam-policy-binding
de la siguiente manera para agregar el rol de escritor de registros a la cuenta de servicio de Google Cloud que acabas de crear. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/logging.logWriter" - La cuenta de servicio debe poder extraer imágenes del repositorio de artifactory, por lo que debes ejecutar el comando
gcloud projects add-iam-policy-binding
de la siguiente manera para agregar el lector de Artifact Registry a la cuenta de servicio. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
- Crea una cuenta de servicio de Kubernetes.
- Actualiza el archivo
service-account.yaml
en el editor de Cloud Shell. Reemplaza<YOUR-KSA-NAME>
porksa-cloud-sql
. - Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell:kubectl apply -f service-account.yaml
- Actualiza el archivo
- Ejecuta el comando
gcloud iam service-accounts add-iam-policy-binding
a continuación para habilitar la vinculación de IAM de la cuenta de servicio de Google Cloud y la cuenta de servicio de Kubernetes. Realiza los siguientes reemplazos:- YOUR_PROJECT_ID por el ID del proyecto.
- YOUR_K8S_NAMESPACE por
default
, que es el espacio de nombres predeterminado para los clústeres creados en GKE. - YOUR_KSA_NAME con
ksa-cloud-sql
.
gcloud iam service-accounts add-iam-policy-binding \ --role="roles/iam.workloadIdentityUser" \ --member="serviceAccount:
YOUR_PROJECT_ID .svc.id.goog[YOUR_K8S_NAMESPACE /YOUR_KSA_NAME ]" \ gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com - Ejecuta el comando
kubectl annotate
de la siguiente manera para anotar la cuenta de servicio de Kubernetes con vinculación de IAM. Realiza los siguientes reemplazos:- YOUR_KSA_NAME con
ksa-cloud-sql
. - YOUR_PROJECT_ID por el ID del proyecto.
kubectl annotate serviceaccount \
YOUR_KSA_NAME \ iam.gke.io/gcp-service-account=gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com - YOUR_KSA_NAME con
Configura secretos
Ejecuta el comando kubectl create secret generic
a fin de crear secretos de Kubernetes para la base de datos, el usuario y la contraseña de usuario que usará la app de ejemplo. Los valores de cada secreto se basan en los valores especificados en los pasos anteriores de esta guía de inicio rápido.
Reemplaza DB_PASS por la contraseña del quickstart-user
que creaste en el paso anterior de la guía de inicio rápido, Crea un usuario.
kubectl create secret generic gke-cloud-sql-secrets \ --from-literal=database=quickstart-db \ --from-literal=username=quickstart-user \ --from-literal=password=DB_PASS
Compila la app de ejemplo
-
Ejecuta el siguiente comando
gcloud artifacts repositories create
en Cloud Shell para crear un repositorio en Artifact Registry llamado gke-cloud-sql-repo en la misma región que tu clúster. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Ejecuta el comando
gcloud builds submit
de la siguiente manera en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
-
Ejecuta el siguiente comando
gcloud artifacts repositories create
en Cloud Shell para crear un repositorio en Artifact Registry llamado gke-cloud-sql-repo en la misma región que tu clúster. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Ejecuta el comando
mvn
como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql \ -DskipTests -Djib.to.credHelper=gcloud
-
Ejecuta el siguiente comando
gcloud artifacts repositories create
en Cloud Shell para crear un repositorio en Artifact Registry llamado gke-cloud-sql-repo en la misma región que tu clúster. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Ejecuta el comando
gcloud builds submit
de la siguiente manera en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
-
Ejecuta el siguiente comando
gcloud artifacts repositories create
en Cloud Shell para crear un repositorio en Artifact Registry llamado gke-cloud-sql-repo en la misma región que tu clúster. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Ejecuta el comando
gcloud builds submit
de la siguiente manera en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por el ID del proyecto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
Implementa la app de ejemplo
IP pública
Una vez configurada la app de ejemplo , puedes implementarla.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
por el ID del proyecto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL.
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de muestra implementada se conecta a tu instancia de Cloud SQL con el conector Java de Cloud SQL.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
por el ID del proyecto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL.
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
por el ID del proyecto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL.
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
por el ID del proyecto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL.
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
IP privada
Una vez configurada la app de ejemplo , puedes implementarla.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos y ediciones:- Reemplaza
<YOUR_KSA_NAME>
porksa-cloud-sql
. - Reemplaza
<LOCATION>
porus-central1
. - Reemplaza
<YOUR_PROJECT_ID>
por el ID del proyecto. - Reemplaza
<YOUR-DB-SECRET>
porgke-cloud-sql-secrets
. - Reemplaza
<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL. - Habilita el proxy de autenticación de Cloud SQL para conectarte a tu instancia de Cloud SQL mediante su dirección IP privada. Quita el comentario de la marca
"-ip_address_types=PRIVATE"
mediante la eliminación del símbolo de comentario#
y su espacio en blanco final. La marca sin comentarios debería verse así:- "-ip_address_types=PRIVATE"
- Reemplaza
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de muestra implementada se conecta a tu instancia de Cloud SQL con el conector Java de Cloud SQL.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
por el ID del proyecto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL.
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos y ediciones:- Reemplaza
<YOUR_KSA_NAME>
porksa-cloud-sql
. - Reemplaza
<LOCATION>
porus-central1
. - Reemplaza
<YOUR_PROJECT_ID>
por el ID del proyecto. - Reemplaza
<YOUR-DB-SECRET>
porgke-cloud-sql-secrets
. - Reemplaza
<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL. - Habilita el proxy de autenticación de Cloud SQL para conectarte a tu instancia de Cloud SQL mediante su dirección IP privada. Quita el comentario de la marca
"-ip_address_types=PRIVATE"
mediante la eliminación del símbolo de comentario#
y su espacio en blanco final. La marca sin comentarios debería verse así:- "-ip_address_types=PRIVATE"
- Reemplaza
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
La app de ejemplo implementada se conectará a tu instancia de Cloud SQL mediante el proxy de Cloud SQL que se ejecuta en un patrón de sidecar de Kubernetes. El patrón de sidecar se logra mediante la implementación de una carga de trabajo con un contenedor adicional que comparte el mismo Pod de Kubernetes que el contenedor de la app de ejemplo.
-
Obtén el nombre de conexión de la instancia de Cloud SQL ejecutando el comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Actualiza el archivo
deployment.yaml
en el editor de Cloud Shell. Realiza los siguientes reemplazos y ediciones:- Reemplaza
<YOUR_KSA_NAME>
porksa-cloud-sql
. - Reemplaza
<LOCATION>
porus-central1
. - Reemplaza
<YOUR_PROJECT_ID>
por el ID del proyecto. - Reemplaza
<YOUR-DB-SECRET>
porgke-cloud-sql-secrets
. - Reemplaza
<INSTANCE_CONNECTION_NAME>
por el nombre de conexión de la instancia de Cloud SQL recuperada del comandogcloud
en el paso anterior. El formato es project_id:region:instance_name. El nombre de conexión de la instancia también se puede ver en la página Descripción general de la instancia de Cloud SQL. - Habilita el proxy de autenticación de Cloud SQL para conectarte a tu instancia de Cloud SQL mediante su dirección IP privada. Quita el comentario de la marca
"-ip_address_types=PRIVATE"
mediante la eliminación del símbolo de comentario#
y su espacio en blanco final. La marca sin comentarios debería verse así:- "-ip_address_types=PRIVATE"
- Reemplaza
- Ejecuta el comando
kubectl apply
de la siguiente manera en Cloud Shell para implementar la app de muestra:kubectl apply -f deployment.yaml
- Ejecuta el comando
kubectl apply
de la siguiente manera para agregar un balanceador de cargas frente a la implementación, de modo que puedas acceder a él a través de Internet:kubectl apply -f service.yaml
- Ejecuta el comando
kubectl get
de la siguiente manera para obtener los detalles del servicio:kubectl get services
- Copie la dirección IP externa cuando esté disponible en los detalles del servicio, lo que puede tomar unos minutos.
- Visualiza la app de ejemplo implementada. Abre una ventana del navegador y ve a la dirección IP externa del servicio.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Selecciona la instancia
quickstart-instance
para abrir la página de detalles de la instancia. - En la barra de íconos en la parte superior de la página, haz clic en Borrar.
- En el cuadro de diálogo Borrar instancia, escribe
quickstart-instance
y, luego, haz clic en Borrar. -
En la consola de Google Cloud, ve a la página Google Kubernetes Engine.
- Haz clic en la casilla de verificación junto al nombre del servicio
gke-cloud-sql-quickstart
. - Haz clic en el botón Borrar en la parte superior de la página de Google Kubernetes Engine.
Pasos opcionales de limpieza
Si no usas la Google Cloud cuenta de servicio que creaste para esta guía de inicio rápido, puedes quitarla.
-
En la consola de Google Cloud, ve a la página IAM.
- Selecciona la casilla de verificación de la cuenta de IAM llamada
gke-quickstart-service-account
. - Haz clic en Quitar y confirma la eliminación.
Si no usas las API que se habilitaron como parte de esta guía de inicio rápido, puedes inhabilitarlas.
- API que se habilitaron en esta guía de inicio rápido:
- API de Compute Engine
- API de Cloud SQL Admin
- API de Google Kubernetes Engine
- API de Artifact Registry
- API de Cloud Build
En la consola de Google Cloud, ve a la página API.
Selecciona la API que quieras inhabilitar y, luego, haz clic en el botón Inhabilitar API.
¿Qué sigue?
En función de tus necesidades, puedes obtener más información para crear instancias de Cloud SQL.También puedes obtener información sobre cómo crear usuarios de MySQL y bases de datos para tu instancia de Cloud SQL.
Además, puedes consultar Precios de Cloud SQL .
Conoce más sobre:
- Todas las opciones de conectividad de Cloud SQL
- La configuración de la instancia de Cloud SQL con una dirección IP pública
- La configuración de la instancia de Cloud SQL con una dirección IP privada
Además, puedes obtener información sobre la conexión a una instancia de Cloud SQL desde otras aplicaciones de Google Cloud: