Puppet und OpenStack - Ein gutes Team

237 Aufrufe

Veröffentlicht am

0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
237
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Install modules from source
  • March 9, 2015 - April 16, 2015
  • March 9, 2015 - April 16, 2015
  • March 9, 2015 - April 16, 2015
  • Puppet und OpenStack - Ein gutes Team

    1. 1. www.netways.de // blog.netways.de // @netways We love Open Source DEUTSCHE OPENSTACK TAGE – 24.06.2015 PUPPET UND OPENSTACK – EIN GUTES TEAM BERND ERK | NETWAYS GMBH
    2. 2. www.netways.de // blog.netways.de // @netways We love Open Source VORSTELLUNG ■ Bernd Erk  Geschäftsführer NETWAYS GmbH  Icinga Co-Founder ■ @gethash ■ bernd.erk@netways.de
    3. 3. www.netways.de // blog.netways.de // @netways We love Open Source AGENDA ■ Vorstellung NETWAYS ■ Warum Konfigurationsmanagement ■ Vorstellung von Puppet ■ Einführung Puppet DSL ■ Puppet Enterprise ■ Puppet und OpenStack ■ Ausblick ■ Zusammenfassung ■ Fragen & Antworten
    4. 4. www.netways.de // blog.netways.de // @netways We love Open Source VORSTELLUNG NETWAYS
    5. 5. www.netways.de // blog.netways.de // @netways We love Open Source VORSTELLUNG NETWAYS ■ Firmengründung 1995 ■ Open Source seit 1997 ■ Aktuell 42 Mitarbeiter ■ Spezialisierung in den Bereichen Open Source Systems Management und Open Source Datacenter
    6. 6. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS KOMPETENZEN ■ Monitoring ■ Graphing ■ Logmanagement ■ Konfigurationsmanagement ■ Reporting ■ Private Cloud ■ Backup ■ Projektmanagement ■ Consulting ■ Managed Services ■ Development ■ Support ■ Betrieb ■ Schulungen ■ Konferenzen ■ Monitoring Hardware
    7. 7. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS PRODUKTE
    8. 8. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS KONFERENZEN Open Source Backup Conference ■ 29. – 30. September 2015 in Köln ■ Best Practices für das Backup Open Source Monitoring Conference ■ 16. – 18. November 2015 in Nürnberg ■ 250 Teilnehmer (2014) ■ Monitoring Best Practices
    9. 9. www.netways.de // blog.netways.de // @netways We love Open Source WARUM KONFIGURATIONSMANAGEMENT
    10. 10. www.netways.de // blog.netways.de // @netways We love Open Source WARUM KONFIGURATIONSMANAGEMENT ■ Golden Images ■ Fertige Pakete ■ Manuelle Konfiguration ■ Selbstgebaute Skripte for i in $(cat host.cfg) do ssh user@$i uname -a done Häufig verwendete „Automatisierung“
    11. 11. www.netways.de // blog.netways.de // @netways We love Open Source DER PUPPET-ANSATZ
    12. 12. www.netways.de // blog.netways.de // @netways We love Open Source DER PUPPET-ANSATZ
    13. 13. www.netways.de // blog.netways.de // @netways We love Open Source DER PUPPET-ANSATZ
    14. 14. www.netways.de // blog.netways.de // @netways We love Open Source VORSTELLUNG VON PUPPET
    15. 15. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET - ÜBERSICHT
    16. 16. www.netways.de // blog.netways.de // @netways We love Open Source FUNKTIONSWEISE VON PUPPET
    17. 17. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET WORKFLOW SSL-Verschlüsselung bei jedem Datentransport
    18. 18. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET WORKFLOW SSL-Verschlüsselung bei jedem Datentransport Der Node sendet normierte Daten über sich selbst an den Puppet Master.
    19. 19. www.netways.de // blog.netways.de // @netways We love Open Source FACTER ■ Puppet nutzt Facter um Daten über das Hostsystem zu sammeln ■ Facter gibt bei der Ausführung eine Liste von Key-Value Paaren zurück … is_virtual => true kernel => Linux kernelmajversion => 3.2 kernelrelease => 3.2.0-4-amd64 kernelversion => 3.2.0 lsbdistcodename => wheezy lsbdistdescription => Debian GNU/Linux 7.8 (wheezy) lsbdistid => Debian lsbdistrelease => 7.8 lsbmajdistrelease => 7 lsbminordistrelease => 8 macaddress => 02:00:0a:0a:00:48 macaddress_eth0 => 02:00:0a:0a:00:48 macaddress_eth1 => 02:00:64:00:00:02 macaddress_eth2 => 02:00:64:00:00:11 …
    20. 20. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET WORKFLOW SSL-Verschlüsselung bei jedem Datentransport Der Node sendet normierte Daten über sich selbst an den Puppet Master. Puppet nutzt diese Daten um einen Katalog zu erstellen, welcher festlegt, wie der Node konfiguriert sein sollte.
    21. 21. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET CATALOG
    22. 22. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET – RESOURCE TYPES
    23. 23. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET – RESOURCE PROVIDERS
    24. 24. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET WORKFLOW SSL-Verschlüsselung bei jedem Datentransport Der Node sendet normierte Daten über sich selbst an den Puppet Master. Puppet nutzt diese Daten um einen Katalog zu erstellen, welcher festlegt, wie der Node konfiguriert sein sollte. Der Node meldet Konfigurations- änderungen an den Puppet Master zurück. Diese werden beispielsweise über das Puppet Dashboard sichtbar.
    25. 25. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET WORKFLOW SSL-Verschlüsselung bei jedem Datentransport Der Node sendet normierte Daten über sich selbst an den Puppet Master. Puppet nutzt diese Daten um einen Katalog zu erstellen, welcher festlegt, wie der Node konfiguriert sein sollte. Der Node meldet Konfigurations- änderungen an den Puppet Master zurück. Diese werden beispielsweise über das Puppet Dashboard sichtbar. Puppets offene API kann die Daten auch an 3rd party Tools senden. Puppet oder 3rd party Tool
    26. 26. www.netways.de // blog.netways.de // @netways We love Open Source EINFÜHRUNG PUPPET DSL
    27. 27. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) ■ Ressource – Einzelner Baustein  Jede Ressource hat einen type, einen title und einen Satz an Attributen mit Werten Hauptressourcen: user, group, host, cron, exec, file, package, service
    28. 28. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) ■ Manifest – Puppet Datei mit Endung .pp Möglichkeiten:  Statische Dateien  Dateien mit dynamischem Inhalt (ERB Templates)  Custom Facts  Sprachkonstrukte (Variablen, Arrays, Selektionen, case, if/else/elsif)  Abhängigkeiten (require, subscribe, before, notify)
    29. 29. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) ■ Klasse – Zusammenfassung von Ressourcen
    30. 30. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) ■ Module – Zusammenfassung mehrerer Klassen und zugehörigen Dateien in einem Verzeichnis modulname |-- examples – Beispielmanifeste (Alternative: tests) |-- files – statische Dateien |-- lib – Custom Facts und Custom Resourcen |-- manifests – Manifeste eines Moduls (Klassen) |-- spec – Debugging mit rspec-puppet |-- templates – Templates für dynamische Dateien |-- tests – Beispielmanifeste (Alternative: examples)
    31. 31. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) ■ Node Deklaration – Modulzuweisung über site.pp  Einzelner Host:  Mehrere Hosts:  Standardzuweisung:  Weitere Abstraktionen (Profile, Rollen, etc.)
    32. 32. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET DOMAIN SPECIFIC LANGUAGE (DSL) Weitere Möglichkeiten:  Unterklassen  Klassenparametrisierung  Funktionen (Logging, Hiera, etc.)  Klassenvererbung  Environments, Stages, etc.
    33. 33. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET ENTERPRISE
    34. 34. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET ENTERPRISE CONSOLE DEMO
    35. 35. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET FORGE VIRTUAL & CLOUD INFRASTRUCTURE APPLICATIONS NETWORK & STORAGE DEVICES OPERATING SYSTEM RESOURCES Puppet Forge ~3.287modules NTP SUDO LDAP RPM SSH USERS
    36. 36. www.netways.de // blog.netways.de // @netways We love Open Source PUPPET UND OPENSTACK
    37. 37. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK UND KONFIGMANAGEMENT 56% 26% 8% 8% 8% 10% 8% 2% 0% 1% 7% 36% 13% 16% 13% 6% 6% 5% 8% 0% 1% 15% 20% 15% 15% 10% 15% 8% 5% 8% 3% 0% 15% 0% 10% 20% 30% 40% 50% 60% Puppet Ansible Fuel Chef PackStack Juju SaltStack DevStack CFEngine Crowbar Other Tool Prod Dev/Test PoC *Open Stack User Survey 2015
    38. 38. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK KOMPONENTEN
    39. 39. www.netways.de // blog.netways.de // @netways We love Open Source VERWENDUNG VON PACKSTACK $ sudo yum install git python-yaml -y $ git clone https://github.com/stackforge/packstack.git $ cd packstack && sudo python setup.py install $ packstack --allinone Only supports Fedora, Red Hat Enterprise Linux (RHEL) $ packstack --install-hosts=<local ipaddr> --novanetwork-pubif=<dev> --novacompute-privif=lo --novanetwork-privif=lo --os-swift-install=y --nagios-install=y ■ Packstack - Utility
    40. 40. www.netways.de // blog.netways.de // @netways We love Open Source STACKFORGE –> FORGE.PUPPETLABS.COM “What were previously the StackForge Puppet modules are now officially the OpenStack Puppet Modules project. This is clear recognition of the value they bring, as well as the openness and inclusiveness of the community.” *https://puppetlabs.com/blog/openstack-kilo-summit-and-looking-forward-to-liberty
    41. 41. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK NETWORK - NEUTRON ■ stackforge/neutron ■ This module supports the following neutron plugins:  Open vSwitch  linuxbridge  cisco-neutron ■ The following platforms are supported:  Ubuntu 12.04 (Precise)  Debian (Wheezy)  RHEL 6  Fedora 18
    42. 42. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK BLOCK STORAGE- CINDER ■ stackforge/cinder class { 'cinder': database_connection => 'mysql://cinder:secret@openstack-controller.example.com/cinder', rabbit_password => 'secret_rpc_password_for_blocks', rabbit_host => 'openstack-controller.example.com', verbose => true, } class { 'cinder::volume': } cinder::backend::iscsi {'iscsi1': iscsi_ip_address => '10.0.0.2', } cinder::backend::rbd {'rbd-images': rbd_pool => 'images', rbd_user => 'images', }
    43. 43. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK BLOCK STORAGE USAGE 44% 16% 11% 5% 9% 4% 5% 1% 2% 2% 37% 23% 10% 7% 10% 4% 3% 2% 1% 1% 0% 10% 20% 30% 40% 50% Ceph LVM NetApp NFS GlusterFS EMC SolidFire VMWare Dell EqualLogic HP3PAR May-15 Nov-14 *Open Stack User Survey 2015
    44. 44. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK COMPUTE - NOVA ■ stackforge/nova class { 'nova': database_connection => 'mysql://nova:a_big_secret@127.0.0.1/nova?charset=utf8', rabbit_userid => 'nova', rabbit_password => 'an_even_bigger_secret', image_service => 'nova.image.glance.GlanceImageService', glance_api_servers => 'localhost:9292', verbose => false, rabbit_host => '127.0.0.1', } class { 'nova::compute': enabled => true, vnc_enabled => true, } class { 'nova::compute::libvirt': migration_support => true, } Supports libvirt, xenserver and vmware compute drivers.
    45. 45. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK IMAGE - GLANCE ■ stackforge/glance class { 'glance::api': verbose => true, keystone_tenant => 'services', keystone_user => 'glance', keystone_password => '12345', sql_connection => 'mysql://glance:12345@127.0.0.1/glance', } class { 'glance::registry': verbose => true, keystone_tenant => 'services', keystone_user => 'glance', keystone_password => '12345', sql_connection => 'mysql://glance:12345@127.0.0.1/glance', } class { 'glance::backend::file': } Only supports configuring the file, swift and rbd storage backends
    46. 46. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK OBJECT STORAGE - SWIFT ■ stackforge/swift class { 'swift': swift_hash_suffix => 'swift_secret', } swift::storage::loopback { ['1', '2']: require => Class['swift'], } class { 'swift::storage::all': storage_local_net_ip => $ipaddress_eth0 } @@ring_object_device { "${ipaddress_eth0}:6000/1": region => 1, # optional, defaults to 1 zone => 1, weight => 1, } @@ring_container_device { "${ipaddress_eth0}:6001/1": zone => 1, weight => 1, }
    47. 47. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK DASHBOARD - HORIZON ■ stackforge/horizon class { 'memcached': listen_ip => '127.0.0.1', tcp_port => '11211', udp_port => '11211', } class { '::horizon': cache_server_ip => '127.0.0.1', cache_server_port => '11211', secret_key => '12345', swift => false, django_debug => 'True', api_result_limit => '2000', } Only supports Apache using mod_wsgi
    48. 48. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK IDENTIY - KEYSTONE ■ stackforge/keystone class { 'mysql::server': } class { 'keystone::db::mysql': password => 'super_secret_db_password', allowed_hosts => '%', } All the keystone types use the CLI tools and so need to be ran on the keystone node class { 'postgresql::server': } class { 'keystone::db::postgresql': password => 'super_secret_db_password', }
    49. 49. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK IDENTITY - DRIVERS 58% 28% 8% 5% 2% 3% 3% 56% 29% 11% 0% 1% 1% 0% 64% 15% 5% 0% 2% 0% 0% 0% 10% 20% 30% 40% 50% 60% 70% SQL LDAP AD Templated PAM KVS Other Prod Dev/Prod POC *Open Stack User Survey 2015
    50. 50. www.netways.de // blog.netways.de // @netways We love Open Source OPENSTACK TELEMETRY - CEILOMETER ■ stackforge/ceilometer
    51. 51. www.netways.de // blog.netways.de // @netways We love Open Source AUSBLICK
    52. 52. www.netways.de // blog.netways.de // @netways We love Open Source AUSBLICK - CONTAINER 64% 39% 33% 19% 16% 10% 7% 1% 0% 10% 20% 30% 40% 50% 60% 70% Docker Kubernetes LXC Mesos Rocket LXD OpenVZ Warden Interesse in Containertechnologie *Open Stack User Survey 2015
    53. 53. www.netways.de // blog.netways.de // @netways We love Open Source ZUSAMMENFASSUNG
    54. 54. www.netways.de // blog.netways.de // @netways We love Open Source ZUSAMMENFASSUNG ■ Vielzahl an unterschiedlichen Komponenten ist für automatisiertes Deployment eine Herausforderung ■ Puppet bietet größte OpenStack-Unterstützung am Markt ■ Eine breite Basis an OpenStack Komponenten wird supported  https://forge.puppetlabs.com/stackforge  Nicht alle Backends werden unterstützt! ■ Nicht alle Module unterstützen aktuelles Release Kilo ■ Ausprobieren ist einfach puppet module install stackforge-nova
    55. 55. www.netways.de // blog.netways.de // @netways We love Open Source FRAGEN UND ANTWORTEN
    56. 56. www.netways.de // blog.netways.de // @netways We love Open Source KONTAKTDATEN ? Vielen Dank für Ihre Aufmerksamkeit! NETWAYS GmbH Deutschherrnstrasse 15-19 90429 Nürnberg Tel: +49 911 92885-0 Fax: +49 911 92885-77 E-Mail: info@netways.de Website: www.netways.de Twitter: twitter.com/netways Facebook: facebook.com/netways Blog: blog.netways.de

    ×