Skip to content

janth/puppet-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVRY lab VirtualBox + Vagrant + Puppet with puppetmaster and clients {oel,sol11}

Author: Jan Thomas

Om puppet

Puppet Labs - The Company behind Puppet
Puppet - The OpenSource version
Puppet Enterprise- The commercial version
The Community- Active and vibrant
Documentation - Main and Official reference
PDF Docs - For download and offline access Puppet Modules: Module Forge, GitHub
MEN NB! Vi skal bruke minst mulig av de. Offisiell velsignet modulliste vil komme på wikien

Related programvare

MCollective - Infrastructure Orchestration framework
Hiera - Key-value lookup tool where Puppet data can be placed
PuppetDB - An Inventory Service and StoredConfigs backend
Puppet DashBoard - A Puppet Web frontend and External Node Classifier (ENC)
The Foreman - A well-known third party provisioning tool and Puppet ENC
Geppetto - A Puppet IDE based on Eclipse

Om Lab'en (Linux/Windows)

Dette lab-oppstettet lager 3 stk virtualbox VMer ved hjelp av Vagrant; 2 linux og en solaris11. Den ene linuxen blir satt opp som puppetmaster med dashboard og puppetdb. Den andre linuxen og solaris11 er tenk som klienter.

NB! Laben er utviklet på PC med linux som hoved-os, og derfor kun testet der. Har du windows på din PC, er det nytt farvann og ukjent terreng, men både Virtualbox, Vagrant og Git skal være mulig å installere på Windows. Se feks http://guides.beanstalkapp.com/version-control/git-on-windows.html for instruksjoner.

Kom i gang

  1. Sjekk at du har en PC som oppfyller kravene:

    • PC: Kapabel til å kjøre 64bits programvare (linux: sjekk linux-bits)
      NB! Husk å installere 64-bits versjon av programmene under!!!
    • Diskplass: Minimum ~10G Detaljer:
    .../lab ~50Mb
    ~/vagrant.d (holds the .box files) ~2.6G
    ~/VirtualBox VMs (holds the Virtualbox machines) ~

    VM maks disk (de er laget med en tynn vmdk diskfil, dvs filen vokser etterhvert som mer og mer installeres i VMen):

    VM Max disk
    puppet 4G
    client1 20G
    client2 30G
    • RAM: Du bør ha 2G RAM ledig for å kjøre alle 3 lab-boxene. Detaljer (dette kan overstyres i Vagrantfile):
    VM RAM
    puppet 384M
    client1 224M
    client2 512M
  2. Installer VirtualBox

  3. Installer Vagrant

  4. Installer Git (eller for linux: sudo yum install git / sudo apt-get install git

  5. Lag en egen lab katalog

  6. Klon dette prosjektet: git clone https://github.com/janth/vagrant.git

Hvis du kjører windows:

  1. Legg følgende i din /etc/hosts / %SystemRoot%\system32\drivers\etc\hosts
    172.16.10.10   puppet.evry.dev   puppet pm
    172.16.10.11   client1.evry.dev  client1 c1
    172.16.10.12   client2.evry.dev  client2 c2
    
  2. Legg vagrant box ssh-rsa key i din ssh config: https://github.com/mitchellh/vagrant/tree/master/keys TBD...
  3. Oppdater modulene som brukes for å sette opp lab'en
    TBD...

Hvis PCen din kjører linux:

  1. Kjør vagrant...

    # Denne fikser de manuelle stegene for windows automatisk! ;->
    bin/1stSetup.sh 
    
    vagrant up puppet
    vagrant provision puppet
    vagrant up client1
    vagrant up client2

Deretter...

  1. Sjekk dashboard (http://172.16.10.10:3000/), du skal se 3 noder (ja, puppetmaster puppet (aka puppet.evry.dev) er node av seg selv)
  2. Skriv puppetkode. NB! Se wiki for EVRY 8D44 Puppet Best Practice (http://212.18.136.81/wiki/display/MV/Puppet)
  3. Ved dagens slutt:
  • Husk å lagre alle filer, commit kode til ditt repo, push til origin
  • La VMene hvile:
vagrant suspend client1
vagrant suspend client2
  1. Neste dag:
vagrant resume client1
vagrant resume client2

Puppet Editor (vim/Eclipse)

To valg:

  1. git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
  2. vim ~/.vimrc
  3. legg til følgende:
set nocompatible               " be iMproved
filetype off                   " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" Required: Let Vundle manage Vundle 
Bundle 'gmarik/vundle'
Bundle 'rodjek/vim-puppet'
Bundle 'godlygeek/tabular'
Bundle 'scrooloose/syntastic'
" SnipMate + vim-snippets
Bundle 'MarcWeber/vim-addon-mw-utils'
Bundle 'tomtom/tlib_vim'
Bundle 'garbas/vim-snipmate'
Bundle 'honza/vim-snippets'
filetype plugin indent on     " required!
  1. last inn: vim +BundleInstall +qall

Alternativ editor: Geppetto (Eclipse plugin): http://cloudsmith.github.io/geppetto/

Lab GUI mm

Logger (på puppetmaster puppet.evry.dev)

tail -f /var/log/puppet*/* /usr/share/puppet-dashboard/log/*

Validering av puppetkode

  • puppet-lint site/site.pp
  • puppet apply --noop --verbose site/site.pp

Andre anbefalinger:

About

Vagrant Puppet Lab / Puppet Sandbox

Resources

Stars

Watchers

Forks

Packages

No packages published