Gestire le risorse Google Cloud come deployment

Puoi utilizzare Google Cloud Deployment Manager per creare un insieme di risorse Google Cloud e gestirle come un'unità, chiamata deployment. Ad esempio, se l'ambiente di sviluppo del tuo team richiede due macchine virtuali (VM) e un database BigQuery, puoi definire queste risorse in un file di configurazione e utilizzare Deployment Manager per crearle, modificarle o eliminarle. Puoi rendere il file di configurazione parte del repository di codice del tuo team, in modo che possono creare lo stesso ambiente con risultati coerenti.

In questo tutorial utilizzerai Google Cloud Deployment Manager per creare una macchina virtuale (VM) in esecuzione in un'istanza Compute Engine. Definirai la VM in un file di configurazione di base e utilizzerai questo file di configurazione per creare un deployment.

Per completare questo tutorial, devi avere familiarità con l'esecuzione dei comandi in Linux, macOS o Windows.

Per una versione interattiva di questo tutorial, aprilo in Cloud Shell, puoi modificare la configurazione di esempio ed eseguire il deployment delle risorse senza installare sulla workstation. Se vuoi seguire il tutorial autonomamente computer, passa alla sezione successiva.

Guida rapida in Cloud Shell

Prima di iniziare

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Deployment Manager and Compute Engine APIs.

    Enable the APIs

  7. Sulla tua workstation, installa Google Cloud CLI.
  8. Configura Google Cloud CLI in modo da utilizzare il tuo progetto. Nel comando seguente, sostituisci [MY_PROJECT] con il tuo ID progetto:
    gcloud config set project [MY_PROJECT]

Definisci le risorse

Descrivi le risorse in un file di configurazione, scritto nel Sintassi YAML.

  1. Copia la configurazione di esempio riportata di seguito e incollala in un editor di testo.

    # Copyright 2016 Google Inc. All rights reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    
    # Put all your resources under `resources:`. For each resource, you need:
    # - The type of resource. In this example, the type is a Compute VM instance.
    # - An internal name for the resource.
    # - The properties for the resource. In this example, for VM instances, you add
    #   the machine type, a boot disk, network information, and so on.
    #
    # For a list of supported resources,
    # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
    resources:
    - type: compute.v1.instance
      name: quickstart-deployment-vm
      properties:
        # The properties of the resource depend on the type of resource. For a list
        # of properties, see the API reference for the resource.
        zone: us-central1-f
        # Replace [MY_PROJECT] with your project ID
        machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
        disks:
        - deviceName: boot
          type: PERSISTENT
          boot: true
          autoDelete: true
          initializeParams:
            # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
            # The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
            sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11
        # Replace [MY_PROJECT] with your project ID
        networkInterfaces:
        - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
          # Access Config required to give the instance a public IP address
          accessConfigs:
          - name: External NAT
            type: ONE_TO_ONE_NAT
    

    Questo file di configurazione di base descrive un deployment che contiene di macchina virtuale con le seguenti proprietà:

    • Tipo di macchina: f1-micro
    • Famiglia di immagini: debian-9
    • Zona: us-central1-f
    • Disco permanente radice: boot
    • Un indirizzo IP esterno assegnato in modo casuale
  2. Sostituisci tutte le istanze di [MY_PROJECT] con l'ID del tuo progetto.

  3. Salva il file come vm.yaml.

Esegui il deployment delle risorse

Per eseguire il deployment delle risorse, utilizza Google Cloud CLI per creare un nuovo deployment utilizzando il file di configurazione:

gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml

Se il deployment è riuscito, riceverai un messaggio simile all'esempio riportato di seguito:

Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.
NAME                    TYPE                STATE      ERRORS
quickstart-deployment   compute.v1.instance COMPLETED  -

Ora hai il tuo primo deployment.

Controlla il nuovo deployment

Per controllare lo stato del deployment, esegui il comando seguente:

gcloud deployment-manager deployments describe quickstart-deployment

Viene visualizzata una descrizione del deployment, incluse le relative ore di inizio e di fine, le risorse create ed eventuali avvisi o errori:

fingerprint: xmVVeTtPq-5rr8F-vWFlrg==
id: '54660732508021769'
insertTime: '2016-03-09T04:45:26.032-08:00'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037
name: quickstart-deployment
operation:
  endTime: '2016-03-09T04:46:19.480-08:00'
  id: '8993923014899639305'
  kind: deploymentmanager#operation
  name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b
  operationType: insert
  progress: 100
  startTime: '2016-03-09T04:45:27.275-08:00'
  status: DONE
...
resources:
NAME                     TYPE                 STATE      ERRORS
quickstart-deployment-vm  compute.v1.instance  COMPLETED  -

Esamina le tue risorse

Dopo aver creato il deployment, puoi esaminare le risorse nella console Google Cloud.

  1. Per visualizzare un elenco dei tuoi deployment, apri la pagina di Deployment Manager.

    Vai a Deployment Manager

  2. Per vedere le risorse del deployment, fai clic su quickstart-deployment. Si apre la panoramica del deployment, con informazioni sul deployment e sulle risorse che ne fanno parte.

  3. Per visualizzare le informazioni sulla VM, fai clic su quickstart-deployment-vm.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

gcloud deployment-manager deployments delete quickstart-deployment

Digita y quando richiesto:

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

Il deployment e le risorse che hai creato vengono eliminati definitivamente.

Passaggi successivi