Cloud Platform
Puppet Setup
Workstation:
1. // Create GCE Debian-7 instance
2. $ sudo apt-get update && sudo apt-get upgrade -y
3. $ sudo apt-get install puppet
4. $ mkdir -p ~/.puppet/modules
5. $ puppet module install puppetlabs-gce_compute
6. $ gctuil version # 1.8.4 which is fine since current gce_compute module relies on 1.8.3
7. $ gcutil ssh `hostname -s` # register my ssh key with metadata server
8. $ cat < ~/.puppet/device.conf
9. [gce_puppet]
10. type gce
11. url [/dev/null]:google.com:erjohnso
12. $ cat < ~/create.pp
13. gce_instance { “via-puppet”: ensure => present, machine_type => ‘n1-standard-1’, zone => ‘us-central1-b’, network => ‘default’,
14. image => ‘projects/debian-cloud/global/images/debian-7-wheezy-v20130926’, tags => [‘web’],
15. manifest => 'class apache ($version = "latest") {
16. package {"apache2": ensure => $version, }
17. file {"/var/www/index.html": ensure => present, require => Package["apache2"],
18. content => "
Hi, this is $gce_external_ip.
",
19. }
20. service {"apache2": ensure => running, enable => true, require => File["/var/www/index.html"], }
21. }
22. include apache'
23. }
24. $ puppet apply --certname gce_puppet ./create.pp