Administrar las API de Cloud y las bibliotecas cliente de Cloud en Cloud Code para VS Code

Para acceder a los productos y servicios de Google Cloud de manera programática, usa las API de Cloud. Estas API exponen una interfaz JSON REST simple. La forma recomendada de acceder a las API de Cloud es usar las bibliotecas cliente de Cloud.

Cloud Code te facilita agregar a tu proyecto las bibliotecas cliente de Cloud para las API de Cloud y el lenguaje que usas. En la misma vista, puedes buscar muestras para cada API e incorporar muestras fácilmente en tu aplicación.

Explora las API de Cloud

Para explorar todas las API de Google Cloud disponibles, sigue estos pasos:

  1. Haz clic en Ícono de Cloud Code Cloud Code y, luego, expande la sección API de Cloud.
  2. El explorador de API agrupa las API de Cloud por categoría.
  3. Captura de pantalla que muestra la lista de las API de Cloud que se muestran en el explorador de vista de árbol.

  4. Para ver los detalles de una API, haz clic en el nombre de la API. Se muestran detalles como el nombre del servicio, el estado, las instrucciones de instalación para bibliotecas cliente, la documentación y las muestras de código.

Habilita las API de Cloud

Para habilitar las API de Cloud en un proyecto mediante la página de detalles de la API, sigue estos pasos:

  1. En la página de detalles de la API de Cloud, elige el proyecto para el que quieres habilitar la API de Cloud.
  2. Haga clic en Habilitar API. Una vez que se habilita la API, se muestra un mensaje para confirmar el cambio.

Agrega bibliotecas cliente al proyecto

Además de explorar y habilitar las API de Cloud mediante Cloud Code, también puedes agregar una biblioteca cliente específica del lenguaje al proyecto.

Para instalar una biblioteca cliente, sigue las instrucciones en tu página de detalles de la API.

Usa muestras de API

Puedes buscar y usar muestras de código para cada API en el navegador de la API.

  1. Haz clic en Cloud Code Ícono de Cloud Code y, luego, expande la sección API de Cloud.

  2. Para abrir la vista de detalles, haz clic en el nombre de una API.

  3. Para ver muestras de código de la API, haz clic en Muestras de código.

  4. Para filtrar la lista de muestras, escribe texto para buscar o elige un lenguaje de programación de la lista Language.

  5. Para ver una muestra, haz clic en el nombre de la muestra. También hay opciones para copiar la muestra al portapapeles o verla en GitHub.

Configura la autenticación

Después de habilitar las API necesarias y agregar las bibliotecas cliente necesarias, debes configurar tu aplicación para que se autentique de forma correcta. La configuración depende del tipo de desarrollo y de la plataforma en la que se ejecute.

Después de completar los pasos de autenticación, tu aplicación puede autenticarse y está lista para implementarse.

Desarrollo local

Máquina local

Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.

minikube

  1. Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.
  2. Ejecuta minikube start --addons gcp-auth para iniciar Minikube. Este comando activa su ADC en sus Pods. Para obtener información detallada sobre la autenticación de Minikube con Google Cloud, consulta la documentación de gcp-auth de minikube.

Otros clústeres locales de K8s

  1. Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.
  2. Edita los manifiestos de implementación para asegurarte de que las bibliotecas cliente de Google Cloud puedan encontrar tus credenciales y activa el directorio ~/.config/gcloud local en los pods de Kubernetes.
  3. Establece tu ID del proyecto de Google Cloud como una variable de entorno llamada GOOGLE_CLOUD_PROJECT.

Ejemplo de configuración de Pod de Kubernetes:

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    name: my-app
spec:
  containers:
  - name: my-app
    image: gcr.io/google-containers/busybox
    ports:
      - containerPort: 8080
    env:
    - name: GOOGLE_CLOUD_PROJECT
      value: my-project-id
    volumeMounts:
      - mountPath: /root/.config/gcloud
        name: gcloud-volume
  volumes:
    - name: gcloud-volume
      hostPath:
        path: /path/to/home/.config/gcloud

Cloud Run

Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.

Desarrollo remoto

GKE

Según el alcance de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:

  • (Solo para desarrollo)
    1. Cree un clúster de GKE con la siguiente configuración:
      • Asegúrate de usar la cuenta de servicio que GKE usa de forma predeterminada, de la cuenta de servicio predeterminada de Compute Engine y de que los permisos de acceso estén configurados en Permitir el acceso total a todas las API de Cloud (ambas opciones de configuración se encuentran disponibles en la sección Grupos de nodos) Seguridad. Dado que la cuenta de servicio de Compute Engine se comparte con todas las cargas de trabajo implementadas en tu nodo, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitada en el clúster (en la sección Clúster y Seguridad).
    2. Asigna las funciones necesarias a tu cuenta de servicio:
  • (Recomendado para la producción)
    1. Configura el clúster y la aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. Esto asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
    2. Configura tu implementación de Kubernetes para que haga referencia a la cuenta de servicio de Kubernetes mediante la configuración del campo .spec.serviceAccountName en tu archivo YAML de implementación de Kubernetes. Si trabajas en una app creada a partir de una aplicación de muestra de Cloud Code, este archivo se encuentra en la carpeta kubernetes-manifests.
    3. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgale los permisos a la cuenta de servicio de Google que usas para desarrollar tu app:

Cloud Run

  1. A fin de crear una cuenta de servicio única nueva para implementar tu aplicación de Cloud Run, navega a la página Cuentas de servicio y, luego, selecciona el proyecto en el que está almacenado tu secreto.

    Ir a la página cuentas de servicio

  2. Haga clic en Crear cuenta de servicio.
  3. En el cuadro de diálogo Crear cuenta de servicio, ingresa un nombre descriptivo para la cuenta de servicio.
  4. Cambia el ID de cuenta de servicio a un valor único y reconocible y, luego, haz clic en Crear.
  5. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otorga las funciones, haz clic en Continuar y, luego, en Listo.
  6. Para agregar tu cuenta de servicio a la configuración de implementación, sigue estos pasos:
    1. En la barra de estado de Cloud Code, elige el comando Cloud Run: Deploy.
    2. En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica la cuenta de servicio.
    Sección de configuración avanzada de revisión expandida en Cloud Run: campo de implementación y cuenta de servicio con el nombre de cuenta de servicio del formato service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Según el alcance de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:

  • (Solo para desarrollo)
    1. Crea un clúster de GKE con la siguiente configuración:
      • Asegúrate de usar la cuenta de servicio que GKE usa de forma predeterminada, que es la cuenta de servicio predeterminada de Compute Engine y que los Alcances del acceso estén configurados en Permitir el acceso total a todas las API de Cloud (ambas opciones de configuración están disponibles en la sección Grupos de nodos). Dado que la cuenta de servicio de Compute Engine se comparte con todas las cargas de trabajo implementadas en tu nodo, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitado en el clúster (en la sección Clúster y Seguridad).
    2. Asigna las funciones necesarias a tu cuenta de servicio:
  • (Recomendado para la producción)
    1. Configura el clúster y la aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. Esto asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
    2. Para agregar tu cuenta de servicio a la configuración de implementación, sigue estos pasos:
      1. En la barra de estado de Cloud Code, elige el comando Cloud Run: Deploy.
      2. En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica la cuenta de servicio.
      Sección de configuración avanzada de revisión expandida en Cloud Run: campo de implementación y cuenta de servicio con el nombre de cuenta de servicio de Kubernetes con el formato service-account-name@project-name.iam.gserviceaccount.com
    3. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgale los permisos a la cuenta de servicio de Google que usas para desarrollar tu app:

Desarrollo remoto con Secret Manager habilitado

Si desarrollas una aplicación de forma remota, con una cuenta de servicio para la autenticación y tu aplicación usa secretos, debes completar algunos pasos adicionales además de la instrucciones de desarrollo remoto. Estos pasos asignan la función requerida a tu cuenta de servicio de Google para acceder a un secreto de Secret Manager específico:

  1. Haz clic en Ícono de Cloud Code Cloud Code y, luego, expande la sección Secret Manager.

    Secret Manager en Cloud Code abierto con dos secretos enumerados

  2. Haga clic con el botón derecho en el Secret y seleccione Edit Permissions in Cloud Console. Esto inicia la página de configuración de Secret Manager para ese secreto en tu navegador web.

    Clic con el botón derecho en el panel de Secret Manager

  3. En Cloud Console, haga clic en Permisos y, luego, en Agregar.

  4. En el campo Principales nuevas, ingresa el nombre de tu cuenta de servicio.

  5. En el campo Selecciona una función, elige la función Accesor secreto de Secret Manager.

  6. Haz clic en Guardar.

    La cuenta de servicio ahora tiene permiso para acceder a este secreto en particular.

Obtener asistencia

Para enviar comentarios, informa problemas en GitHub o haz preguntas en Stack Overflow.