Differences between revisions 41 and 56 (spanning 15 versions)
Revision 41 as of 2014-09-23 19:21:46
Size: 6437
Editor: MishaBrukman
Comment: Removed references to Google kernels as they're no longer needed.
Revision 56 as of 2021-05-07 18:27:26
Size: 4548
Comment: Add notes detailing the relationship between the GCE images and the cloud team.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
<<TableOfContents>>

{{{#!wiki caution
'''Notice'''

Debian images available on GCE are not published by Debian and are considered derivatives from Debian's perspective. In particular, they enable third-party apt sources and install software in the default image that is not part of Debian. If you are interested in enabling Debian to publish working images to GCE in the future, please contact the [[Teams/Cloud|cloud team]].
}}}
Line 5: Line 13:
Google Compute Engine home page, including documentation:
https://developers.google.com/compute/
Google Compute Engine documentation:
[[https://cloud.google.com/compute/docs/]]

Google Cloud SDK (gcloud CLI) Documentation
[[https://cloud.google.com/sdk/]]
Line 10: Line 21:
These images result from a collaboration between Debian and Google. Debian community members are welcome to help improve and maintain the images in Google Compute Engine. This includes directly uploading the Debian images which Google publicizes to Google Compute Engine customers. Google Compute Engine Debian 10 Buster images are built with fai from the official Debian cloud image project [[https://salsa.debian.org/cloud-team/debian-cloud-images]].
Line 12: Line 23:
The images deviate in these ways from official Debian images:
 * Certain non-Debian software is installed to facilitate integration, all freely licensed under the Apache License 2.0:
  * Three debs: google-startup-scripts, google-compute-daemon, image-bundle (these are mostly or completely replaceable with cloud-init if someone does the work)
  * Two unpackaged command-line utilities installed in /usr/local/share/google and symlinked into /usr/local/bin: gcutil and gsutil (optimal packaging situation TBD)
  * The google-startup-scripts deb manages user accounts by default - see below.
Google Compute Engine Debian 9 Stretch images are built with bootstrap-vz. All the configuration and manifest data is provided open source as part of that project [[https://github.com/andsens/bootstrap-vz/tree/master/manifests/official/gce]].
Line 18: Line 25:
Google is interested in working with Debian to make the images even more standard and achieve official Debian image status. In the meantime, Debian has indicated that it's okay to label these images as Debian instead of Debian-based. Debian community members are welcome to help improve and maintain the images in Google Compute Engine. Issues can be filed in the compute-image-packages Github project [[https://github.com/GoogleCloudPlatform/compute-image-packages/issues]].

More details about what is configured or added is maintained in the Google Compute Engine Images documentation [[https://cloud.google.com/compute/docs/images]].
Line 23: Line 32:
One intentional difference from Debian's Amazon EC2 images is that, instead of
sshing in via a default “admin” account, we install a cron job in /etc/cron.d
to manage accounts in line with the Google Compute Engine documentation. For more information, review [[https://developers.google.com/compute/docs/hello_world#ssh|how ssh works|target="_blank"]] on Google Compute Engine. The cron job can be safely removed or disabled to use alternative ways of managing accounts.
SSH in Google Compute Engine is provided using user provided SSH keys. There is not a default account or password configured in GCE images. For more information on how to SSH into GCE Debian instances, refer to the Google Compute Engine SSH documentation:
[[https://cloud.google.com/compute/docs/instances/connecting-to-instance]]

The software to facilitate SSH key based login via metadata is provided in the base images and is open source licensed under the Apache License 2.0 [[https://github.com/GoogleCloudPlatform/compute-image-packages]].
Line 28: Line 38:

To list the currently-recommended, newest versions of Debian images on Google Compute Engine, use [[https://developers.google.com/cloud/sdk/gcloud/|gcloud]]:
To list the currently-recommended, newest versions of Debian images on Google Compute Engine, use the Google Cloud SDK command line tool gcloud [[https://cloud.google.com/compute/docs/gcloud-compute/]]:
Line 35: Line 44:
As of 23 Sep 2014, the current images are: == Using An Image ==

To use the most up to date Debian 10 Buster image, use the "debian-10" image family when creating a new instance.
Line 38: Line 49:
NAME PROJECT DEPRECATED STATUS
backports-debian-7-wheezy-v20140904 debian-cloud READY
debian-7-wheezy-v20140828 debian-cloud READY
gcloud compute instances create "<instance-name>" --image-project debian-cloud --image-family debian-10 --zone="<zone>"
Line 43: Line 52:
See also: [[https://developers.google.com/cloud/sdk/gcloud/reference/compute/images/list|gcloud compute images list]] command reference.

== Using An Image ==

To use an image, use [[https://developers.google.com/cloud/sdk/gcloud/|gcloud]]:
To use the most up to date Debian 9 Stretch image, use the "debian-9" image family when creating a new instance.
Line 50: Line 55:
gcloud compute instances create "<instance-name>" --image="<image-name>" --image-project=debian-cloud --zone="<zone>" --machine-type="<machine-type>" gcloud compute instances create "<instance-name>" --image-project debian-cloud --image-family debian-9 --zone="<zone>"
Line 52: Line 57:

See also: [[https://developers.google.com/cloud/sdk/gcloud/reference/compute/instances/create|gcloud compute instances create]] command reference.
Line 57: Line 60:
As Google Compute Engine releases new images, older images will be deprecated and eventually removed. When this happens, Google Compute Engine sets the deprecation status on an image and if your instances or disks uses a deprecated image, you will need to restart them with a newer, non-deprecated image.

Use [[https://developers.google.com/cloud/sdk/gcloud/|gcloud]] to list images and review their deprecation status, if any:
As Google Compute Engine releases new images, older images will be deprecated and eventually removed. When this happens, Google Compute Engine sets the deprecation status on an image.
Line 65: Line 66:
A list of deprecation statuses are available in the [[https://developers.google.com/compute/docs/reference/latest/images|Images reference|target="_blank"]] documentation.
Line 69: Line 68:
To build a Debian image for Google Compute Engine, follow these instructions:

 1. '''Request access to Google Compute Engine'''
  If you want to help with the Cloud/GoogleComputeEngineImage effort and don't already have a Google Compute Engine space to work in, contact David (cache@google.com) and Jimmy (jkaplowitz@google.com).
  Be sure to provide the following information in your email:

      * A description of how you can help
      * The email of your Google account (Google Apps and consumer accounts are both fine)

  We will add people to the appropriate projects, within certain constraints. See "Access To Test Account for Debian Developers" below for more information.

 1. '''Create images using the build script (see below) on any Linux machine'''
  Example command line (root access is needed for the loopback mounting process):

  {{{
# Either squeeze or wheezy should work.
sudo ./build-debian-cloud gce --codename wheezy
  }}}

 1. '''Follow [[https://developers.google.com/compute/docs/images#creating_an_image_from_a_tar_file | these instructions]] to upload and use a custom image'''

=== Image Build Script ===

Anders Ingemann has created a [[https://github.com/andsens/bootstrap-vz | build script]] for bootstrapping instances that runs automatically and needs no user interaction. You can also attach custom scripts to the script as well. Download or clone the script on [[https://github.com/andsens/bootstrap-vz | GitHub]]. Any bugs or suggestions should be reported via the !GitHub issue tracker or discussed on debian-cloud.

== Future Plans ==
Not yet available
To build a Debian image for Google Compute Engine, use the tools and configurations from the open source Google provided tools which wrap the fai build
[[https://github.com/GoogleCloudPlatform/compute-image-tools/tree/master/daisy_workflows/image_build/debian]] or the Debian cloud images build tools directly [[https://salsa.debian.org/cloud-team/debian-cloud-images]].
Line 99: Line 73:
If you have any questions, concerns, or general feedback, please don’t hesitate to contact the Google Compute team (gc-team@google.com) or David !McWherter (cache@google.com) or Jimmy Kaplowitz (jimmy@debian.org or jkaplowitz@google.com) directly about this effort. If you have any questions, concerns, or general feedback, please don’t hesitate to contact the Google Compute team (gc-team@google.com) or open an issue in the compute-image-packages Github project [[https://github.com/GoogleCloudPlatform/compute-image-packages/issues]].
Line 101: Line 75:
== Access to test account, for Debian Developers interested in testing, or working on Debian images == == Google Compute Engine Debian Experiments Project ==
Line 103: Line 77:
Google has created two Google Compute Engine projects for Debian’s use. Billing for Google Compute Engine and Google Cloud Storage has been waived on these projects. The first project, ‘debian-cloud’, is intended for pushing new images to customers. The second project, ‘debian-cloud-experiments’, is intended for Debian volunteers to experiment with the project. It has a small quota and must be shared. Google will work with Debian to manage access to these projects. A project, "debian-cloud-experiments", for Debian is available with limited quota for Debian Developers to experiment with the platform. Please let us know if you would like access to experiment in this project.

----

CategoryVirtualization | CategorySystemAdministration

Notice

Debian images available on GCE are not published by Debian and are considered derivatives from Debian's perspective. In particular, they enable third-party apt sources and install software in the default image that is not part of Debian. If you are interested in enabling Debian to publish working images to GCE in the future, please contact the cloud team.

Cloud/GoogleComputeEngine Image lists for Google Compute Engine

Google Compute Engine Documentation

Google Compute Engine documentation: https://cloud.google.com/compute/docs/

Google Cloud SDK (gcloud CLI) Documentation https://cloud.google.com/sdk/

Debian Images

Google Compute Engine Debian 10 Buster images are built with fai from the official Debian cloud image project https://salsa.debian.org/cloud-team/debian-cloud-images.

Google Compute Engine Debian 9 Stretch images are built with bootstrap-vz. All the configuration and manifest data is provided open source as part of that project https://github.com/andsens/bootstrap-vz/tree/master/manifests/official/gce.

Debian community members are welcome to help improve and maintain the images in Google Compute Engine. Issues can be filed in the compute-image-packages Github project https://github.com/GoogleCloudPlatform/compute-image-packages/issues.

More details about what is configured or added is maintained in the Google Compute Engine Images documentation https://cloud.google.com/compute/docs/images.

For discussion about Debian on various cloud providers, please visit the debian-cloud mailing list.

SSH user accounts

SSH in Google Compute Engine is provided using user provided SSH keys. There is not a default account or password configured in GCE images. For more information on how to SSH into GCE Debian instances, refer to the Google Compute Engine SSH documentation: https://cloud.google.com/compute/docs/instances/connecting-to-instance

The software to facilitate SSH key based login via metadata is provided in the base images and is open source licensed under the Apache License 2.0 https://github.com/GoogleCloudPlatform/compute-image-packages.

Listing Current Images

To list the currently-recommended, newest versions of Debian images on Google Compute Engine, use the Google Cloud SDK command line tool gcloud https://cloud.google.com/compute/docs/gcloud-compute/:

gcloud compute images list --project=debian-cloud --no-standard-images

Using An Image

To use the most up to date Debian 10 Buster image, use the "debian-10" image family when creating a new instance.

gcloud compute instances create "<instance-name>" --image-project debian-cloud --image-family debian-10 --zone="<zone>"

To use the most up to date Debian 9 Stretch image, use the "debian-9" image family when creating a new instance.

gcloud compute instances create "<instance-name>" --image-project debian-cloud --image-family debian-9 --zone="<zone>"

Listing Older and Deprecated Images

As Google Compute Engine releases new images, older images will be deprecated and eventually removed. When this happens, Google Compute Engine sets the deprecation status on an image.

gcloud compute images list --project=debian-cloud --no-standard-images --show-deprecated

Building a Google Compute Engine Image

To build a Debian image for Google Compute Engine, use the tools and configurations from the open source Google provided tools which wrap the fai build https://github.com/GoogleCloudPlatform/compute-image-tools/tree/master/daisy_workflows/image_build/debian or the Debian cloud images build tools directly https://salsa.debian.org/cloud-team/debian-cloud-images.

Google Contacts

If you have any questions, concerns, or general feedback, please don’t hesitate to contact the Google Compute team (gc-team@google.com) or open an issue in the compute-image-packages Github project https://github.com/GoogleCloudPlatform/compute-image-packages/issues.

Google Compute Engine Debian Experiments Project

A project, "debian-cloud-experiments", for Debian is available with limited quota for Debian Developers to experiment with the platform. Please let us know if you would like access to experiment in this project.


CategoryVirtualization | CategorySystemAdministration