Differences between revisions 9 and 10
Revision 9 as of 2013-04-22 22:42:13
Size: 4846
Editor: ?PhunLang
Comment:
Revision 10 as of 2013-04-22 23:27:17
Size: 5236
Editor: ?PhunLang
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
== Image build script == == Procedure to build images ==
Line 11: Line 11:
Anders Ingemann has created a build script for bootstrapping instances. The script runs fully automatic and needs no user interaction. You can also attach custom scripts to this process as well. 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. To build Debian image for Google Compute Engine, follow these instructions:
Line 13: Line 13:
== Procedure to build images ==
1. If you want to help and don't already have Google Compute Engine space in which to work, email David and me saying how you want to help and giving the name of your Google account (Google Apps and consumer accounts are both fine). We'll add people to whichever projects are appropriate for how they're helping, within the constraints in my previous email.
 1. Use our github fork on any Linux machine to create the images. I'll submit a pull request tomorrow so that Anders can merge it into his tree. Example command line (root is needed for the loopback mounting process):
  * # Either squeeze or wheezy should work.
  * sudo ./build-debian-cloud gce --codename squeeze --volume-size 10
 1. The image will end up in the same directory. From there, follow the steps to upload and use a custom image in Google Compute Engine, beginning with step 4 here: https://developers.google.com/compute/docs/images#installinganimage Once official Debian images are published via the debian-cloud project, end users will be able to use them simply by adding a suitable --image option when creating their instance.
* Please note the linked instructions tell you to run:
   * gcutil --project=<project-id> addimage <image-name> <image-uri> --preferred_kernel=/projects/google/global/kernels/<kernel-name>, without specifying how to find <kernel-name>
   * You can use
gce-v20130325 (Which is appears to be Google's latest build), however, if you want a list of available kernels you can run:
 1. '''Request access to Google Compute Engine'''
  
If you want to help with the Cloud/GoogleComputeEngineImage effort and don't already have Google Compute Engine space to work in, contact David(cache@google.com) and Jimmy (jimmy@debian.org).
  Be sure to pro
vide the following information in your email:

      * A description of how you can help
      * T
he name 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.

 1. '''Create images using our github fork 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 squeeze --volume-size 10

1. '''Follow the steps to upload and use a custom image'''

 
The image will end up in the same directory. From there, follow the steps to upload and use a custom image in Google Compute Engine, beginning with step 4 here: https://developers.google.com/compute/docs/images#installinganimage. Once official Debian images are published via the debian-cloud project, end users will be able to use them simply by adding a suitable --image option when creating their instance, e.g.

  
* gcutil addinstance mynewinstance --image=projects/debian-cloud/gloabal/images/<image-name>

  N
ote the linked instructions tell you to run:
   * gcutil --project=<project-id> addimage <image-name> <image-uri> --preferred_kernel=/projects/google/global/kernels/<kernel-name>

  To
find the correct <kernal-name>, you can either use kernel gce-v20130325 which appears to be Google's latest build. However, if you want a list of available kernels you can run:
Line 23: Line 38:

== 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 [[https://github.com/andsens/build-debian-cloud | github]]. Any bugs or suggestions should be reported via the github issue tracker.
Line 27: Line 46:
== User contributed images == == User-contributed images ==

Cloud/?Google Compute Engine Image lists for Google Compute Engine

Official Debian Images

(Work in Progress)

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

Procedure to build images

To build 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 Google Compute Engine space to work in, contact David(cache@google.com) and Jimmy (jimmy@debian.org). Be sure to provide the following information in your email:

      • A description of how you can help
      • The name 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.
  2. Create images using our github fork 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 squeeze --volume-size 10
  3. Follow the steps to upload and use a custom image

    • The image will end up in the same directory. From there, follow the steps to upload and use a custom image in Google Compute Engine, beginning with step 4 here: https://developers.google.com/compute/docs/images#installinganimage. Once official Debian images are published via the debian-cloud project, end users will be able to use them simply by adding a suitable --image option when creating their instance, e.g.

      • gcutil addinstance mynewinstance --image=projects/debian-cloud/gloabal/images/<image-name>

      Note the linked instructions tell you to run:
      • gcutil --project=<project-id> addimage <image-name> <image-uri> --preferred_kernel=/projects/google/global/kernels/<kernel-name>

      To find the correct <kernal-name>, you can either use kernel gce-v20130325 which appears to be Google's latest build. However, if you want a list of available kernels you can run:

      • gcutil listkernels --project=google (Rather than your own project)

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.

Future Plans

User-contributed images

arch

version

GCE project

Image Name

Kernel ID

size

maintainer

x86_64

squeeze

debian-cloud

projects/debian-cloud/global/images/debian-squeeze-20130418

projects/google/global/kernels/gce-v20130325

10G

jkaplowitz@google.com

x86_64

wheezy

debian-cloud

projects/debian-cloud/global/images/debian-wheezy-20130418

projects/google/global/kernels/gce-v20130325

10G

jkaplowitz@google.com

Notes on Kernel

You may notice that all Google Compute Engine images are booted using an injected Linux 3.3.8 kernel using a configuration to reduce security vulnerabilities. Most notably, that configuration disables modules and access to /dev/mem. We are working to add support for booting from arbitrary kernels, as we know it’s an important freedom. In the meantime, /proc/config.gz will show the enabled options. Kernel source code is available here:

https://developers.google.com/compute/docs/kernels#source

SSH user accounts

One intentional difference from the 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. See here for how ssh works: https://developers.google.com/compute/docs/hello_world#ssh

GCE Documentation

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

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) or me (jimmy@debian.org or jkaplowitz@google.com) directly about this effort.

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

The Google GCE team has created two projects for Debian’s use for Google Compute Engine. Billing for Compute and Storage has been waived on these projects. The first project, ‘debian-cloud’ is intended for pushing new images for 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. We can work with Debian to maintain who can use these projects, or we can push management off to trusted parties in Debian. Google Compute Engine is working toward toward general availability, so over time it will become easier for anyone to get involved.