En este tutorial se muestra cómo desplegar y gestionar aplicaciones de IA/ML de agentes en contenedores mediante Google Kubernetes Engine (GKE). Si combinas el kit de desarrollo de agentes (ADK) de Google con un modelo de lenguaje extenso (LLM) autohospedado, como Llama 3.1, servido por vLLM, puedes poner en marcha agentes de IA de forma eficiente y a gran escala, al tiempo que mantienes el control total de la pila del modelo. En este tutorial se explica el proceso completo para llevar un agente basado en Python desde el desarrollo hasta el despliegue en producción en un clúster de Autopilot de GKE con aceleración de GPU.
Este tutorial está dirigido a ingenieros de aprendizaje automático, desarrolladores y arquitectos de Cloud que estén interesados en usar las funciones de orquestación de contenedores de Kubernetes para servir aplicaciones de IA y aprendizaje automático de agentes. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE Enterprise. Google Cloud
.Antes de empezar, asegúrate de que conoces lo siguiente:
Fondo
En esta sección se describen las tecnologías clave que se usan en este tutorial.
Agent Development Kit (ADK)
Agent Development Kit (ADK) es un framework flexible y modular para desarrollar e implementar agentes de IA. Aunque está optimizado para Gemini y el ecosistema de Google, el ADK no requiere que uses un modelo o una implementación específicos, y se ha creado para que sea compatible con otros frameworks. ADK se ha diseñado para que el desarrollo de agentes se parezca más al desarrollo de software, de modo que los desarrolladores puedan crear, implementar y orquestar más fácilmente arquitecturas de agentes que van desde tareas básicas hasta flujos de trabajo complejos.
Para obtener más información, consulta la documentación del ADK.
Servicio de Kubernetes gestionado de GKE
Google Cloud ofrece una amplia gama de servicios, incluido GKE, que es ideal para desplegar y gestionar cargas de trabajo de IA y aprendizaje automático. GKE es un servicio de Kubernetes gestionado que simplifica el despliegue, el escalado y la gestión de aplicaciones en contenedores. GKE proporciona la infraestructura necesaria, incluidos recursos escalables, computación distribuida y redes eficientes, para gestionar las demandas de computación de los LLMs.
Para obtener más información sobre los conceptos clave de Kubernetes, consulta Empezar a aprender sobre Kubernetes. Para obtener más información sobre GKE y cómo te ayuda a escalar, automatizar y gestionar Kubernetes, consulta la descripción general de GKE.
vLLM
vLLM es un framework de servicio de LLMs de código abierto muy optimizado que puede aumentar el rendimiento del servicio en GPUs. Incluye funciones como las siguientes:
- Implementación optimizada de Transformer con PagedAttention.
- Agrupación continua para mejorar el rendimiento general del servicio.
- Paralelismo de tensores y servicio distribuido en varias GPUs.
Para obtener más información, consulta la documentación de vLLM.
Objetivos
En este tutorial te explicamos cómo hacer lo siguiente:
- Configura tu Google Cloud entorno.
- Aprovisiona un clúster de GKE con GPU.
- Despliega un modelo Llama 3.1 mediante el servidor de inferencia vLLM.
- Crea una imagen de contenedor para tu agente basado en ADK.
- Implementa el agente en el clúster de GKE y conéctalo al LLM autohosted.
- Prueba el agente desplegado.
Arquitectura
En este tutorial se presenta una arquitectura escalable para desplegar aplicaciones de IA basadas en agentes en GKE. La aplicación del agente del ADK se ejecuta en un grupo de nodos de CPU estándar y el LLM autohospedado (Llama 3.1 en vLLM) se ejecuta en un grupo de nodos con GPU, ambos en el mismo clúster de GKE. Esta arquitectura separa la lógica de la aplicación del agente de la carga de trabajo de inferencia del LLM, lo que permite que cada componente se escale y se gestione de forma independiente.
La arquitectura tiene dos componentes principales, cada uno en su propio GKE Deployment:
Aplicación del agente de ADK: la lógica empresarial y las herramientas personalizadas de tu agente (como
get_weather
) se encuentran en una imagen de contenedor. La imagen se ejecuta en un grupo de nodos de CPU estándar y se comunica con el LLM mediante un servicio interno de Kubernetes.LLM autohospedado (Llama 3.1 en vLLM): el modelo Llama 3.1 se ejecuta en un servidor vLLM dedicado en un pool de nodos con GPU. En esta implementación se usa una imagen de contenedor pública (
vllm/vllm-openai:v0.8.5
) configurada para descargar y servir el modelo especificado de Hugging Face cuando se inicia el contenedor. El agente se comunica con este servidor a través de una API REST expuesta por el servicio devllm-llama3-service
Kubernetes.
Tanto el agente del ADK como las implementaciones de vLLM se ejecutan en el mismo clúster de GKE. Esta colocación en un solo clúster simplifica la conexión en red, la gestión y la implementación, al tiempo que permite asignar hardware especializado a los componentes de la aplicación.
Costes
En este tutorial se usan los siguientes componentes facturables de Google Cloud:
Consulta los precios de cada servicio para conocer los posibles costes.
Antes de empezar
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: roles/container.admin, roles/iam.serviceAccountAdmin, roles/artifactregistry.admin, roles/cloudbuild.builds.editor, roles/resourcemanager.projectIamAdmin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
- Obtén un token de acceso de lectura de Hugging Face para descargar el modelo Llama. También debes solicitar acceso al modelo Llama 3.1.
- En la Google Cloud consola
, inicia una sesión de Cloud Shell y haz clic en Activar Cloud Shell. Esta acción inicia una sesión en un panel de consola. Google Cloud
Define las variables de entorno predeterminadas:
gcloud config set project PROJECT_ID export GOOGLE_CLOUD_REGION=REGION export PROJECT_ID=PROJECT_ID
Sustituye los siguientes valores:
- PROJECT_ID: tu Google Cloud ID de proyecto.
- REGION: la Google Cloud región
(por ejemplo,
us-east4
) para aprovisionar tu clúster de GKE, Artifact Registry y otros recursos regionales. Asegúrate de especificar una región que admita GPUs L4 e instancias de tipo de máquina G2. Para comprobar la disponibilidad de las regiones, consulta las regiones y zonas de las GPUs en la documentación de Compute Engine.
En el terminal de Cloud Shell, clona el repositorio de código de ejemplo del tutorial:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples.git
Ve al directorio del tutorial:
cd kubernetes-engine-samples/ai-ml/adk-vllm
Crea un clúster de GKE: puedes desplegar tu aplicación basada en agentes en contenedores en un clúster Autopilot o Estándar de GKE. Usa un clúster Autopilot para disfrutar de una experiencia de Kubernetes totalmente gestionada. Para elegir el modo de funcionamiento de GKE que mejor se adapte a tus cargas de trabajo, consulta Acerca de los modos de funcionamiento de GKE.
Autopilot
En Cloud Shell, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME \ --location=$GOOGLE_CLOUD_REGION
Sustituye CLUSTER_NAME por el nombre de tu clúster de GKE.
Con Autopilot, GKE aprovisiona automáticamente los nodos en función de las solicitudes de recursos de tu carga de trabajo. La GPU necesaria para el LLM se solicita en el
deploy-llm.yaml
manifiesto mediante unnodeSelector
.Para añadir una
nodeSelector
solicitud de lanvidia-l4
GPU, sigue estos pasos:- Abre
kubernetes-engine-samples/ai-ml/adk-vllm/deploy-llm/deploy-llm.yaml
en un editor. Añade lo siguiente a
nodeSelector
enspec.template.spec
:nodeSelector: cloud.google.com/gke-accelerator: nvidia-l4
Estándar
En Cloud Shell, crea un clúster Standard ejecutando el siguiente comando:
gcloud container clusters create CLUSTER_NAME \ --location=$GOOGLE_CLOUD_REGION
Sustituye CLUSTER_NAME por el nombre de tu clúster de GKE.
Crea un grupo de nodos con GPU para tu clúster ejecutando el siguiente comando:
gcloud container node-pools create gpu-node-pool \ --cluster=CLUSTER_NAME \ --location=$GOOGLE_CLOUD_REGION \ --machine-type=g2-standard-8 \ --accelerator=type=nvidia-l4,count=1 \ --enable-gvnic
El archivo
deploy-llm.yaml
especifica una GPUnvidia-l4
, que está disponible en la serie de máquinas G2. Para obtener más información sobre este tipo de máquina, consulta Tipos de máquinas con GPU en la documentación de Compute Engine.
- Abre
Crea un repositorio de Artifact Registry: crea un repositorio de Artifact Registry para almacenar y gestionar de forma segura la imagen de contenedor Docker de tu agente.
gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=$GOOGLE_CLOUD_REGION
Sustituye REPO_NAME por el nombre del repositorio de Artifact Registry que quieras usar (por ejemplo,
adk-repo
).Obtener la URL del repositorio: para verificar la ruta completa a tu repositorio, ejecuta este comando. Usarás este formato para etiquetar tu imagen Docker cuando compiles la imagen del agente.
gcloud artifacts repositories describe REPO_NAME \ --location $GOOGLE_CLOUD_REGION
Ve al directorio de Terraform: el directorio
\terraform
contiene todos los archivos de configuración necesarios para crear el clúster de GKE y otros recursos obligatorios.cd terraform
Crea un archivo de variables de Terraform: copia el archivo de variables de ejemplo (
example_vars.tfvars
) para crear tu propio archivovars.tfvars
.cp example_vars.tfvars vars.tfvars
Abre el archivo
vars.tfvars
en un editor y sustituye los valores de marcador de posición por tu configuración específica. Como mínimo, debes sustituir PROJECT_ID por el Google Cloud ID de tu proyectoCLUSTER_NAME y por el nombre de tu clúster de GKE.Inicializa Terraform: para descargar los complementos de proveedor necesarios para Google Cloud, ejecuta este comando.
terraform init
Revisa el plan de ejecución: este comando muestra los cambios que Terraform hará en la infraestructura.
terraform plan -var-file=vars.tfvars
Aplica la configuración: para crear los recursos en tu Google Cloud proyecto, ejecuta el plan de Terraform. Confirma la acción con
yes
cuando se te solicite.terraform apply -var-file=vars.tfvars
Concede el rol de gestión de identidades y accesos necesario para Cloud Build: el servicio de Cloud Build requiere permisos para enviar la imagen de contenedor del agente a Artifact Registry. Asigna el rol
roles/artifactregistry.writer
a la cuenta de servicio predeterminada de Compute Engine, que usa Cloud Build.Crea el correo de la cuenta de servicio predeterminada de Compute Engine:
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") export COMPUTE_SA_EMAIL=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com
Asigna el rol
roles/artifactregistry.writer
a la cuenta de servicio:gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:${COMPUTE_SA_EMAIL} \ --role=roles/artifactregistry.writer
Crea y envía la imagen del contenedor del agente: desde el directorio raíz del proyecto (
adk/llama/vllm
), crea tu imagen Docker y envíala a Artifact Registry ejecutando estos comandos.export IMAGE_URL="${GOOGLE_CLOUD_REGION}-docker.pkg.dev/${PROJECT_ID}/REPO_NAME/adk-agent:latest" gcloud builds submit --tag $IMAGE_URL
Verifica que la imagen se haya enviado: una vez que se haya completado correctamente el proceso de compilación, comprueba que la imagen de contenedor de tu agente se haya enviado a Artifact Registry. Para ello, consulta la lista de imágenes de tu repositorio.
gcloud artifacts docker images list ${GOOGLE_CLOUD_REGION}-docker.pkg.dev/${PROJECT_ID}/REPO_NAME
Debería ver un resultado que muestre la imagen que acaba de enviar y etiquetar como
latest
.Crea un secreto de Kubernetes para las credenciales de Hugging Face: para permitir que el clúster de GKE descargue el modelo Llama 3.1 protegido, debes proporcionar tu token de Hugging Face como secreto de Kubernetes. El manifiesto
deploy-llm.yaml
está configurado para usar este secreto con fines de autenticación.kubectl create secret generic hf-secret \ --from-literal=hf-token-secret=HUGGING_FACE_TOKEN
Sustituye HUGGING_FACE_TOKEN por tu token.
Ver el archivo de manifiesto: en el directorio raíz del proyecto (
adk/llama/vllm
), vaya al directorio/deploy-llm
que contiene el archivo de manifiesto de la implementación del modelo.cd deploy-llm
Aplica el manifiesto: ejecuta el siguiente comando para aplicar el manifiesto
deploy-llm.yaml
a tu clúster.kubectl apply -f deploy-llm.yaml
El comando crea tres recursos de Kubernetes:
- Una implementación que ejecuta el servidor vLLM, configurado para usar el modelo
meta-llama/Llama-3.1-8B-Instruct
. - Un servicio llamado
vllm-llama3-service
que expone el servidor vLLM en una dirección IP de clúster interna, lo que permite que el agente del ADK se comunique con él. - Un ConfigMap que contiene una plantilla de chat de Jinja que requiere el modelo Llama 3.1.
- Una implementación que ejecuta el servidor vLLM, configurado para usar el modelo
Verifica el despliegue del modelo: el servidor vLLM extrae los archivos del modelo de Hugging Face. Este proceso puede tardar varios minutos. Puedes monitorizar el estado del pod para asegurarte de que está listo.
Espera a que la implementación esté disponible.
kubectl wait --for=condition=available --timeout=600s deployment/vllm-llama3-deployment
Consulta los registros del pod en ejecución para confirmar que el servidor se ha iniciado correctamente.
export LLM_POD=$(kubectl get pods -l app=vllm-llama3 -o jsonpath='{.items[0].metadata.name}') kubectl logs -f $LLM_POD
La implementación estará lista cuando veas un resultado de registro similar al siguiente, que indica que el servidor LLM se ha iniciado y que las rutas de la API están disponibles:
INFO 07-16 14:15:16 api_server.py:129] Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Envía una solicitud directamente al servidor del modelo para confirmar que el LLM está listo. Para ello, abre un nuevo terminal de Cloud Shell y ejecuta el siguiente comando para reenviar el
vllm-llama3-service
a tu máquina local:kubectl port-forward service/vllm-llama3-service 8000:8000
En otra terminal, envía una solicitud de ejemplo al endpoint de la API del modelo mediante
curl
. Por ejemplo:curl -X POST http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "prompt": "Hello!", "max_tokens": 10 }'
Si el comando devuelve una respuesta JSON correcta, tu LLM estará listo. Ahora puedes finalizar el proceso de reenvío de puertos volviendo a la ventana de su terminal y pulsando
Ctrl+C
. Después, puedes implementar el agente.
Ve al directorio
/deploy-agent
: desde el directorio raíz de tu proyecto (adk/llama/vllm
), ve al directorio/deploy-agent
que contiene el código fuente y el manifiesto de implementación del agente.cd ../deploy-agent
Actualiza el archivo de manifiesto de la implementación del agente:
El archivo de manifiesto de
deploy-agent.yaml
ejemplo contiene un marcador de posición para el ID de tu proyecto en la URL de la imagen de contenedor. Debes sustituir el marcador de posición por el ID de tu proyecto Google Cloud .image: us-central1-docker.pkg.dev/PROJECT_ID/adk-repo/adk-agent:latest
Para realizar esta sustitución, puedes ejecutar el siguiente comando:
sed -i "s/<PROJECT_ID>/$PROJECT_ID/g" deploy-agent.yaml
Asegúrate de que la ruta
readinessProbe
esté configurada como/
en lugar de/dev-ui
. Para realizar esta sustitución, puedes ejecutar el siguiente comando:sed -i "s|path: /dev-ui/|path: /|g" deploy-agent.yaml
Aplica el manifiesto: ejecuta el siguiente comando para aplicar el manifiesto
deploy-agent.yaml
a tu clúster.kubectl apply -f deploy-agent.yaml
Este comando crea dos recursos de Kubernetes:
- Un Deployment llamado
adk-agent
que ejecuta la imagen de contenedor de tu agente personalizado. - Un servicio llamado
adk-agent
de tipo NodePort que expone la aplicación del agente para que se pueda acceder a ella con fines de prueba.
- Un Deployment llamado
Verifica la implementación del agente: comprueba el estado del pod para asegurarte de que se está ejecutando correctamente.
Espera a que la implementación esté disponible:
kubectl wait --for=condition=available --timeout=300s deployment/adk-agent
Consulta los registros del pod del agente en ejecución:
export AGENT_POD=$(kubectl get pods -l app=adk-agent -o jsonpath='{.items[0].metadata.name}') kubectl logs -f $AGENT_POD
Reenvía el servicio del agente a tu máquina local: el servicio
adk-agent
es de tipoNodePort
, pero la forma más directa de acceder a él desde tu entorno de Cloud Shell es usar el comandokubectl port-forward
. Crea un túnel seguro al pod del agente ejecutando este comando.kubectl port-forward $AGENT_POD 8001:8001
Accede a la interfaz de usuario web del agente: en Cloud Shell, haz clic en el botón Vista previa web y selecciona Obtener vista previa en el puerto 8001. Se abrirá una nueva pestaña del navegador con la interfaz de chat del agente.
Interactúa con el agente: hazle una pregunta que invoque su herramienta
get_weather
. Por ejemplo:What's the weather like in Tokyo?
El agente primero llamará al LLM para entender la intención e identificar la necesidad de usar la herramienta
get_weather
. A continuación, ejecutará la herramienta con "Tokio" como parámetro. Por último, usará el resultado de la herramienta para generar una respuesta. Deberías ver una respuesta similar a la siguiente:The weather in Tokyo is 25°C and sunny.
(Opcional) Verifica la llamada a la herramienta en los registros: puedes observar la interacción del agente con el LLM y la ejecución de la herramienta consultando los registros de los pods correspondientes.
Registros de Agent Pod: en un nuevo terminal, consulta los registros del Pod
adk-agent
. Verás la llamada a la herramienta y su resultado.kubectl logs -f $AGENT_POD
El resultado muestra la herramienta a la que se llama y el resultado que se está procesando.
Registros de LLM Pod: consulta los registros del
vllm-llama3-deployment
Pod para ver la solicitud entrante del agente.kubectl logs -f $LLM_POD
En los registros se muestra la petición completa que ha enviado el agente al LLM, incluido el mensaje del sistema, tu consulta y la definición de la herramienta
get_weather
.
En el directorio raíz del proyecto (
adk/llama/vllm
), ve al directorio/terraform
:cd terraform
Ejecuta este comando para quitar todos los recursos definidos en tus archivos de configuración de Terraform:
terraform destroy
- Consulta cómo configurar Horizontal Pod Autoscaler (HPA) para ajustar automáticamente los recursos de tu agente en función de la demanda.
- Consulta cómo configurar Identity-Aware Proxy (IAP) para tus aplicaciones web que se ejecutan en Google Cloud, lo que proporciona una autorización centralizada para acceder a la interfaz de usuario de tu agente.
- Consulta cómo usar Cloud Logging y Cloud Monitoring para obtener información valiosa sobre el rendimiento y el estado de tu agente en el clúster de GKE.
- Consulta ejemplos experimentales en GKE AI Labs que pueden ayudarte a usar GKE para acelerar tus iniciativas de IA basada en agentes.
Preparar el entorno
En este tutorial se usa Cloud Shell para gestionar los recursos alojados en Google Cloud. Cloud Shell viene preinstalado con el software que necesitas para este tutorial, como
kubectl
,terraform
yGoogle Cloud CLI
.Para configurar tu entorno con Cloud Shell, sigue estos pasos:
Clonar el proyecto de ejemplo
Crear y configurar Google Cloud recursos
Para desplegar tu agente, primero debes aprovisionar los recursos Google Cloud necesarios. Puedes crear el clúster de GKE y el repositorio de Artifact Registry con gcloud CLI o Terraform.
gcloud
En esta sección se proporcionan comandos de la CLI de gcloud para configurar tu clúster de GKE y Artifact Registry.
Terraform
En esta sección se describe cómo usar la configuración de Terraform incluida en el repositorio de ejemplo para aprovisionar tus recursos de Google Cloud automáticamente.
Después de ejecutar estos comandos, Terraform aprovisiona tu clúster de GKE y tu repositorio de Artifact Registry, y configura los roles de gestión de identidades y accesos y las cuentas de servicio necesarios, incluida la federación de identidades de carga de trabajo para GKE.
Para obtener más información sobre cómo usar Terraform, consulta Aprovisionar recursos de GKE con Terraform.
Configurar
kubectl
para que se comunique con tu clústerPara configurar
kubectl
de forma que se comunique con tu clúster, ejecuta el siguiente comando:gcloud container clusters get-credentials CLUSTER_NAME \ --location=${GOOGLE_CLOUD_REGION}
Sustituye CLUSTER_NAME por el nombre de tu clúster de GKE.
Crear la imagen del agente
Una vez que hayas creado la infraestructura con la CLI de gcloud o Terraform, sigue estos pasos para crear tu aplicación de agente.
Desplegar el modelo
Después de configurar tu clúster de GKE y crear la imagen del agente, el siguiente paso es desplegar el modelo Llama 3.1 autohosted en tu clúster. Para ello, despliega un servidor de inferencia de vLLM preconfigurado que extrae el modelo de Hugging Face y lo sirve internamente en el clúster.
Desplegar la aplicación del agente
El siguiente paso es implementar la aplicación de agente basada en ADK.
El despliegue se habrá realizado correctamente cuando veas un resultado de registro similar al siguiente, que indica que el servidor Uvicorn está en funcionamiento y listo para aceptar solicitudes:
INFO: Uvicorn running on http://0.0.0.0:8001 (Press CTRL+C to quit)
Probar el agente desplegado
Una vez que hayas implementado correctamente el servidor vLLM y la aplicación del agente, puedes probar la funcionalidad integral interactuando con la interfaz de usuario web del agente.
Cuando termines las pruebas, puedes finalizar el proceso
port-forward
volviendo a la ventana de su terminal y pulsandoCtrl+C
.Limpieza
Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.
Eliminar los recursos desplegados
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos que has creado en este tutorial, ejecuta los siguientes comandos:
gcloud
Si has usado la CLI de gcloud para crear tus recursos, ejecuta los siguientes comandos para eliminar el clúster de GKE y el repositorio de Artifact Registry, y para restaurar los permisos de la cuenta de servicio a su estado original.
gcloud container clusters delete CLUSTER_NAME \ --location=$GOOGLE_CLOUD_REGION gcloud artifacts repositories delete REPO_NAME \ --location=$GOOGLE_CLOUD_REGION gcloud projects remove-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:${COMPUTE_SA_EMAIL} \ --role=roles/artifactregistry.writer
Terraform
Si has usado Terraform para aprovisionar tu infraestructura, puedes destruir todos los recursos ejecutando un solo comando desde el directorio
/terraform
.Siguientes pasos
-