mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 10:35:03 +00:00
294 lines
13 KiB
Text
294 lines
13 KiB
Text
NAME
|
|
gcloud compute disks create - create Compute Engine persistent disks
|
|
|
|
SYNOPSIS
|
|
gcloud compute disks create DISK_NAME [DISK_NAME ...]
|
|
[--csek-key-file=FILE] [--description=DESCRIPTION]
|
|
[--guest-os-features=[GUEST_OS_FEATURE,...]] [--labels=[KEY=VALUE,...]]
|
|
[--licenses=[LICENSE,...]] [--provisioned-iops=PROVISIONED_IOPS]
|
|
[--replica-zones=ZONE,ZONE] [--no-require-csek-key-create]
|
|
[--resource-policies=[RESOURCE_POLICY,...]] [--size=SIZE] [--type=TYPE]
|
|
[--image-family-scope=IMAGE_FAMILY_SCOPE
|
|
--image-project=IMAGE_PROJECT --image=IMAGE
|
|
| --image-family=IMAGE_FAMILY | --source-disk=SOURCE_DISK
|
|
| --source-snapshot=SOURCE_SNAPSHOT]
|
|
[--kms-key=KMS_KEY : --kms-keyring=KMS_KEYRING
|
|
--kms-location=KMS_LOCATION --kms-project=KMS_PROJECT]
|
|
[--region=REGION | --zone=ZONE]
|
|
[--source-disk-region=SOURCE_DISK_REGION
|
|
| --source-disk-zone=SOURCE_DISK_ZONE] [GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
gcloud compute disks create creates one or more Compute Engine persistent
|
|
disks. When creating virtual machine instances, disks can be attached to
|
|
the instances through the gcloud compute instances create command. Disks
|
|
can also be attached to instances that are already running using gcloud
|
|
compute instances attach-disk.
|
|
|
|
Disks are zonal resources, so they reside in a particular zone for their
|
|
entire lifetime. The contents of a disk can be moved to a different zone by
|
|
snapshotting the disk (using gcloud compute disks snapshot) and creating a
|
|
new disk using --source-snapshot in the desired zone. The contents of a
|
|
disk can also be moved across project or zone by creating an image (using
|
|
gcloud compute images create) and creating a new disk using --image in the
|
|
desired project and/or zone.
|
|
|
|
For a comprehensive guide, including details on minimum and maximum disk
|
|
size, refer to: https://cloud.google.com/compute/docs/disks
|
|
|
|
EXAMPLES
|
|
When creating disks, be sure to include the --zone option. To create disks
|
|
'my-disk-1' and 'my-disk-2' in zone us-east1-a:
|
|
|
|
$ gcloud compute disks create my-disk-1 my-disk-2 --zone=us-east1-a
|
|
|
|
POSITIONAL ARGUMENTS
|
|
DISK_NAME [DISK_NAME ...]
|
|
Names of the disks to create. For details on the naming convention for
|
|
this resource, refer to:
|
|
https://cloud.google.com/compute/docs/naming-resources
|
|
|
|
FLAGS
|
|
--csek-key-file=FILE
|
|
Path to a Customer-Supplied Encryption Key (CSEK) key file that maps
|
|
Compute Engine resources to user managed keys to be used when creating,
|
|
mounting, or taking snapshots of disks.
|
|
|
|
If you pass - as value of the flag, the CSEK is read from stdin. See
|
|
https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
|
|
for more details.
|
|
|
|
--description=DESCRIPTION
|
|
An optional, textual description for the disks being created.
|
|
|
|
--guest-os-features=[GUEST_OS_FEATURE,...]
|
|
This parameter enables one or more features for VM instances that use
|
|
the image for their boot disks. See
|
|
https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features
|
|
for descriptions of the supported features. GUEST_OS_FEATURE must be
|
|
one of: GVNIC, MULTI_IP_SUBNET, SEV_CAPABLE, UEFI_COMPATIBLE,
|
|
VIRTIO_SCSI_MULTIQUEUE, WINDOWS.
|
|
|
|
--labels=[KEY=VALUE,...]
|
|
List of label KEY=VALUE pairs to add.
|
|
|
|
Keys must start with a lowercase character and contain only hyphens
|
|
(-), underscores (_), lowercase characters, and numbers. Values must
|
|
contain only hyphens (-), underscores (_), lowercase characters, and
|
|
numbers.
|
|
|
|
--licenses=[LICENSE,...]
|
|
A list of URIs to license resources. The provided licenses will be
|
|
added onto the created disks to indicate the licensing and billing
|
|
policies.
|
|
|
|
--provisioned-iops=PROVISIONED_IOPS
|
|
Provisioned IOPS of pd-extreme disk to create. Only for use with disks
|
|
of type pd-extreme. If specified, the value must be in the range
|
|
between 10000 and 120000. If not specified, the default value is
|
|
100000.
|
|
|
|
--replica-zones=ZONE,ZONE
|
|
A comma-separated list of exactly 2 zones that a regional disk will be
|
|
replicated to. Required when creating regional disk. The zones must be
|
|
in the same region as specified in the --region flag. See available
|
|
zones with gcloud compute zones list.
|
|
|
|
--require-csek-key-create
|
|
Refuse to create resources not protected by a user managed key in the
|
|
key file when --csek-key-file is given. This behavior is enabled by
|
|
default to prevent incorrect gcloud invocations from accidentally
|
|
creating resources with no user managed key. Disabling the check allows
|
|
creation of some resources without a matching Customer-Supplied
|
|
Encryption Key in the supplied --csek-key-file. See
|
|
https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
|
|
for more details. Enabled by default, use --no-require-csek-key-create
|
|
to disable.
|
|
|
|
--resource-policies=[RESOURCE_POLICY,...]
|
|
A list of resource policy names to be added to the disk. The policies
|
|
must exist in the same region as the disk.
|
|
|
|
--size=SIZE
|
|
Size of the disks. The value must be a whole number followed by a size
|
|
unit of GB for gigabyte, or TB for terabyte. If no size unit is
|
|
specified, GB is assumed. For example, 10GB will produce 10 gigabyte
|
|
disks. Disk size must be a multiple of 1 GB. Limit your boot disk size
|
|
to 2TB to account for MBR partition table limitations. If disk size is
|
|
not specified, the default size of 500GB for pd-standard disks, 100GB
|
|
for pd-balanced disks, 100GB for pd-ssd disks, and 1000GB for
|
|
pd-extreme will be used. For details about disk size limits, refer to:
|
|
https://cloud.google.com/compute/docs/disks
|
|
|
|
--type=TYPE
|
|
Specifies the type of disk to create. To get a list of available disk
|
|
types, run gcloud compute disk-types list. The default disk type is
|
|
pd-standard.
|
|
|
|
--image-family-scope=IMAGE_FAMILY_SCOPE
|
|
Sets the scope for the --image-family flag. By default, when specifying
|
|
an image family in a public image project, the zonal image family scope
|
|
is used. All other projects default to the global image. Use this flag
|
|
to override this behavior. IMAGE_FAMILY_SCOPE must be one of: zonal,
|
|
global.
|
|
|
|
--image-project=IMAGE_PROJECT
|
|
The Google Cloud project against which all image and image family
|
|
references will be resolved. It is best practice to define
|
|
image-project. A full list of available projects can be generated by
|
|
running gcloud projects list.
|
|
◆ If specifying one of our public images, image-project must be
|
|
provided.
|
|
◆ If there are several of the same image-family value in multiple
|
|
projects, image-project must be specified to clarify the image to be
|
|
used.
|
|
◆ If not specified and either image or image-family is provided, the
|
|
current default project is used.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--image=IMAGE
|
|
An image to apply to the disks being created. When using this option,
|
|
the size of the disks must be at least as large as the image size.
|
|
Use --size to adjust the size of the disks.
|
|
|
|
This flag is mutually exclusive with --source-snapshot and
|
|
--image-family.
|
|
|
|
--image-family=IMAGE_FAMILY
|
|
The image family for the operating system that the boot disk will be
|
|
initialized with. Compute Engine offers multiple Linux distributions,
|
|
some of which are available as both regular and Shielded VM images.
|
|
When a family is specified instead of an image, the latest
|
|
non-deprecated image associated with that family is used. It is best
|
|
practice to use --image-family when the latest version of an image is
|
|
needed.
|
|
|
|
--source-disk=SOURCE_DISK
|
|
Source disk used to create the disk(s). It is safe to delete a source
|
|
disk after a disk has been created from the source disk. To get a
|
|
list of disks in your current project, run gcloud compute disks list.
|
|
This flag is mutually exclusive with --image and --source-snapshot.
|
|
|
|
When using this option, the size of the disks must be at least as
|
|
large as the source disk size. Use --size to adjust the size of the
|
|
disks.
|
|
|
|
The source disk must be in the same zone/region as the disk to be
|
|
created.
|
|
|
|
--source-snapshot=SOURCE_SNAPSHOT
|
|
Source snapshot used to create the disks. It is safe to delete a
|
|
snapshot after a disk has been created from the snapshot. In such
|
|
cases, the disks will no longer reference the deleted snapshot. To
|
|
get a list of snapshots in your current project, run gcloud compute
|
|
snapshots list. A snapshot from an existing disk can be created using
|
|
the gcloud compute disks snapshot command. This flag is mutually
|
|
exclusive with --image.
|
|
|
|
When using this option, the size of the disks must be at least as
|
|
large as the snapshot size. Use --size to adjust the size of the
|
|
disks.
|
|
|
|
Key resource - The Cloud KMS (Key Management Service) cryptokey that will
|
|
be used to protect the disk. The arguments in this group can be used to
|
|
specify the attributes of this resource.
|
|
|
|
--kms-key=KMS_KEY
|
|
ID of the key or fully qualified identifier for the key. To set the
|
|
kms-key attribute:
|
|
▸ provide the argument --kms-key on the command line.
|
|
|
|
This flag must be specified if any of the other arguments in this
|
|
group are specified.
|
|
|
|
--kms-keyring=KMS_KEYRING
|
|
The KMS keyring of the key. To set the kms-keyring attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-keyring on the command line.
|
|
|
|
--kms-location=KMS_LOCATION
|
|
The Cloud location for the key. To set the kms-location attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-location on the command line;
|
|
▸ provide the argument --region on the command line.
|
|
|
|
--kms-project=KMS_PROJECT
|
|
The Cloud project for the key. To set the kms-project attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-project on the command line;
|
|
▸ set the property core/project.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--region=REGION
|
|
Region of the disks to create. If not specified, you might be
|
|
prompted to select a region (interactive mode only).
|
|
|
|
To avoid prompting when this flag is omitted, you can set the
|
|
compute/region property:
|
|
|
|
$ gcloud config set compute/region REGION
|
|
|
|
A list of regions can be fetched by running:
|
|
|
|
$ gcloud compute regions list
|
|
|
|
To unset the property, run:
|
|
|
|
$ gcloud config unset compute/region
|
|
|
|
Alternatively, the region can be stored in the environment variable
|
|
CLOUDSDK_COMPUTE_REGION.
|
|
|
|
--zone=ZONE
|
|
Zone of the disks to create. If not specified and the compute/zone
|
|
property isn't set, you might be prompted to select a zone
|
|
(interactive mode only).
|
|
|
|
To avoid prompting when this flag is omitted, you can set the
|
|
compute/zone property:
|
|
|
|
$ gcloud config set compute/zone ZONE
|
|
|
|
A list of zones can be fetched by running:
|
|
|
|
$ gcloud compute zones list
|
|
|
|
To unset the property, run:
|
|
|
|
$ gcloud config unset compute/zone
|
|
|
|
Alternatively, the zone can be stored in the environment variable
|
|
CLOUDSDK_COMPUTE_ZONE.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--source-disk-region=SOURCE_DISK_REGION
|
|
Region of the source disk. This argument is not required if the
|
|
target disk is in the same region as the source disk. Overrides the
|
|
default compute/region property value for this command invocation.
|
|
|
|
--source-disk-zone=SOURCE_DISK_ZONE
|
|
Zone of the source disk. This argument is not required if the target
|
|
disk is in the same zone as the source disk. Overrides the default
|
|
compute/zone property value for this command invocation.
|
|
|
|
GCLOUD WIDE FLAGS
|
|
These flags are available to all commands: --access-token-file, --account,
|
|
--billing-project, --configuration, --flags-file, --flatten, --format,
|
|
--help, --impersonate-service-account, --log-http, --project, --quiet,
|
|
--trace-token, --user-output-enabled, --verbosity.
|
|
|
|
Run $ gcloud help for details.
|
|
|
|
NOTES
|
|
These variants are also available:
|
|
|
|
$ gcloud alpha compute disks create
|
|
|
|
$ gcloud beta compute disks create
|
|
|