Utiliza familias de imágenes para simplificar el control de versiones de imágenes. Agrega una imagen a una familia de imágenes para establecerla como la versión más reciente de la imagen. Si determinas que debes revertir la familia de imágenes a una versión anterior, da de baja la imagen más reciente de la familia.
Para conocer las prácticas recomendadas sobre cómo trabajar con familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
De forma opcional, puedes especificar la ubicación de almacenamiento de la imagen mediante Google Cloud Console, el comando gcloud compute images create
con la marca --storage-location
o el método images().insert
.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
- Instala Google Cloud CLI o actualízala a la última versión.
- Configura una región y una zona predeterminadas.
- Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
- Lee el documento Imágenes.
Configura la versión con imágenes en una familia de imágenes
Console
En Google Cloud Console, ve a la página Crea una imagen.
Especifica el Nombre de la imagen. Por ejemplo,
image-v1
Especifica el Origen desde el que deseas crear una imagen. Puede ser un disco persistente, una instantánea, otra imagen o un archivo disk.raw en Cloud Storage.
Si creas una imagen desde un disco conectado a una VM en ejecución, marca Keep instance running para confirmar que deseas crear la imagen mientras se ejecuta la VM. Puedes preparar tu VM antes de crear la imagen.
En la lista desplegable Se basa en la ubicación del disco de origen (predeterminado), especifica la ubicación para almacenar la imagen. Por ejemplo, especifica
us
para almacenar la imagen en la multirregiónus
ous-central1
a fin de almacenarla en la regiónus-central1
. Si no realizas una selección, Compute Engine almacenará la imagen en la multirregión más cercana a la ubicación de origen de la imagen.Especifica la imagen Familia para la imagen nueva. Por ejemplo, agrega
my-image-family
para organizar la imagen como parte de una familia de imágenes.Especifica otras propiedades de imagen (opcional):
- Descripción: Es la descripción de la imagen personalizada.
- Etiqueta: Es la etiqueta que agrupa los recursos.
Especifica la clave de encriptación. Puedes elegir entre una clave administrada por Google, una clave de Cloud Key Management Service (Cloud KMS) o una clave de encriptación proporcionada por el cliente (CSEK). Si no se especifica una clave de encriptación, las imágenes se encriptarán mediante una clave administrada por Google
Haz clic en Crear para crear la imagen.
gcloud
gcloud compute images create image-v1 \ --source-disk disk-1 \ --source-disk-zone us-central1-f \ --family my-image-family
La familia de imágenes apunta a image-v1
. Agrega una segunda imagen a la familia:
gcloud compute images create image-v2 \ --source-disk disk-2 \ --source-disk-zone us-central1-f \ --family my-image-family
API
Realiza una solicitud POST
al método images().insert
.
Especifica la familia de imágenes en el cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "image-v2", "sourceDisk": "/zones/us-central1-f/disks/disk-2", "family":"my-image-family", }
La familia de imágenes apunta a image-v2
porque es la imagen más reciente que agregaste a la familia de imágenes.
gcloud
Puedes ver a qué imagen apunta una familia si ejecutas el comando gcloud compute images describe-from-family
.
Por ejemplo:
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v2
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY
API
Realiza una solicitud GET
al método images().getFromFamily
.
Especifica la familia de imágenes en el cuerpo de la solicitud.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family { "resourceId":"my-image-family", }
Si determinas que debes revertir la familia de imágenes para que ya no apunte a image-v2
, debes dar de baja image-v2
, y la familia volverá a apuntar a image-v1
.
gcloud compute images deprecate image-v2 \ --state DEPRECATED \ --replacement image-v1
Asegúrate de que la familia de imágenes apunte a image-v1
.
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v1
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY