Differences between revisions 1 and 48 (spanning 47 versions)
Revision 1 as of 2013-04-22 11:22:51
Size: 762
Editor: BrianGupta
Comment: Initial page for Google Compute Engine -- Needs a lot of work
Revision 48 as of 2016-01-04 15:03:33
Size: 6397
Editor: ThomasKoch
Comment: jkaplowitz@google.com doesn't work at google anymore
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Cloud/[[Google Compute Engine]] Image lists for Google Compute Engine Cloud/[[GoogleComputeEngine]] Image lists for Google Compute Engine
Line 4: Line 4:
== Official Debian AMIs ==
(Work in Progress)
== Google Compute Engine Documentation ==
Google Compute Engine home page, including documentation:
https://developers.google.com/compute/
Line 7: Line 8:
For discussion about Debian on various cloud providers, please visit [[http://lists.debian.org/debian-cloud/|Debian-Cloud mailing list]]. == Debian Images ==
Line 9: Line 10:
== Image build script == 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.
Line 11: Line 12:
Anders Ingemann has created a build script for bootstrapping instances. The script runs fully automatic and needs no user interaction, custom scripts can be attached to the process as well. You can download or clone the script on [[https://github.com/andsens/build-debian-cloud | github]]. Any bugs or suggestions should be reported via the github issue tracker. 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:
  * DEBs: `google-startup-scripts`, `google-compute-daemon`, and `image-bundle` (mostly or completely replaceable with cloud-init if someone does the work)
  * Unpackaged command-line utilities installed in /usr/local/share/google and symlinked into /usr/local/bin: `bq`, `gcloud`, `gcutil`, and `gsutil` (optimal packaging situation TBD)
  * The google-startup-scripts deb manages user accounts by default - see below.
Line 13: Line 18:
== Procedure to build images == 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.
Line 15: Line 20:
== Future Plans == For discussion about Debian on various cloud providers, please visit the [[http://lists.debian.org/debian-cloud/|debian-cloud mailing list]].
Line 17: Line 22:
=== SSH user accounts ===
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.
Line 18: Line 27:
== User contributed images == == Listing Current Images ==

To list the currently-recommended, newest versions of Debian images on Google Compute Engine, use [[https://developers.google.com/cloud/sdk/gcloud/|gcloud]]:

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

As of 27 Sep 2014, the current images are:

{{{
NAME PROJECT DEPRECATED STATUS
backports-debian-7-wheezy-v20140924 debian-cloud READY
debian-7-wheezy-v20140924 debian-cloud READY
}}}

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]]:

{{{
gcloud compute instances create "<instance-name>" --image="<image-name>" --image-project=debian-cloud --zone="<zone>" --machine-type="<machine-type>"
}}}

See also: [[https://developers.google.com/cloud/sdk/gcloud/reference/compute/instances/create|gcloud compute instances create]] command reference.

== 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 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:

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

A list of deprecation statuses are available in the [[https://developers.google.com/compute/docs/reference/latest/images|Images reference|target="_blank"]] documentation.

== Building a Google Compute Engine Image ==

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).
  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'''
  Sample command lines (root access is needed for the loopback mounting process):

  * regular wheezy package:

  {{{
sudo ./bootstrap-vz manifests/gce.manifest.yml
  }}}

  * backports image:

  {{{
sudo ./bootstrap-vz manifests/gce-backports.manifest.yml
  }}}

 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.

== 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 David !McWherter (cache@google.com) directly about this effort.

== Access to test account, for Debian Developers interested in testing, or working on Debian images ==

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.

Cloud/GoogleComputeEngine Image lists for Google Compute Engine

Google Compute Engine Documentation

Google Compute Engine home page, including documentation: https://developers.google.com/compute/

Debian Images

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.

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:
    • DEBs: google-startup-scripts, google-compute-daemon, and image-bundle (mostly or completely replaceable with cloud-init if someone does the work)

    • Unpackaged command-line utilities installed in /usr/local/share/google and symlinked into /usr/local/bin: bq, gcloud, gcutil, and gsutil (optimal packaging situation TBD)

    • The google-startup-scripts deb manages user accounts by default - see below.

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.

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

SSH user accounts

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 how ssh works on Google Compute Engine. The cron job can be safely removed or disabled to use alternative ways of managing accounts.

Listing Current Images

To list the currently-recommended, newest versions of Debian images on Google Compute Engine, use gcloud:

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

As of 27 Sep 2014, the current images are:

NAME                                PROJECT      DEPRECATED STATUS
backports-debian-7-wheezy-v20140924 debian-cloud            READY
debian-7-wheezy-v20140924           debian-cloud            READY

See also: gcloud compute images list command reference.

Using An Image

To use an image, use gcloud:

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

See also: gcloud compute instances create command reference.

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 and if your instances or disks uses a deprecated image, you will need to restart them with a newer, non-deprecated image.

Use gcloud to list images and review their deprecation status, if any:

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

A list of deprecation statuses are available in the Images reference documentation.

Building a Google Compute Engine Image

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). 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.
  2. Create images using the build script (see below) on any Linux machine

    • Sample command lines (root access is needed for the loopback mounting process):
    • regular wheezy package:
      sudo ./bootstrap-vz manifests/gce.manifest.yml
    • backports image:
      sudo ./bootstrap-vz manifests/gce-backports.manifest.yml
  3. Follow these instructions to upload and use a custom image

Image Build Script

Anders Ingemann has created a 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 GitHub. Any bugs or suggestions should be reported via the GitHub issue tracker or discussed on debian-cloud.

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 David McWherter (cache@google.com) directly about this effort.

Access to test account, for Debian Developers interested in testing, or working on Debian images

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.