Opscode Chef - Grundlagen

2.296 Aufrufe

Veröffentlicht am

Einführung in die Grundlagen und Terminologie von Opscode Chef, einer in Ruby geschriebenen Software zu automatisierten Installation von Servern.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.296
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
42
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Example: cookboos > database > libraries > resource_database.rb\n
  • Example: cookboos > database > libraries > resource_database.rb\n
  • Example: cookboos > database > libraries > resource_database.rb\n
  • Example: cookboos > database > libraries > resource_database.rb\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • You can search through data bags similar to node attributes.\n
  • You can search through data bags similar to node attributes.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Demonstration: invoke ohoi command.\n
  • Demonstration: invoke ohoi command.\n
  • Demonstration: invoke ohoi command.\n
  • Demonstration: invoke ohoi command.\n
  • Demonstration: invoke ohoi command.\n
  • \n
  • chef-validator-client identity = special purpose idendity to register new nodes\n
  • chef-validator-client identity = special purpose idendity to register new nodes\n
  • chef-validator-client identity = special purpose idendity to register new nodes\n
  • chef-validator-client identity = special purpose idendity to register new nodes\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Libraries = language extensions, ruby classes\nAttributes > Updates node attributes and Recipes\nDefinition > must be loaded before Recipes because they create pseude-resources\n
  • Libraries = language extensions, ruby classes\nAttributes > Updates node attributes and Recipes\nDefinition > must be loaded before Recipes because they create pseude-resources\n
  • Libraries = language extensions, ruby classes\nAttributes > Updates node attributes and Recipes\nDefinition > must be loaded before Recipes because they create pseude-resources\n
  • Libraries = language extensions, ruby classes\nAttributes > Updates node attributes and Recipes\nDefinition > must be loaded before Recipes because they create pseude-resources\n
  • Recipes will be evaluted. Take Resources > Resource Collection . No action execution.\nRessource Collection = Array of evaluated Resources\nRuby Block Resource = Execute Ruby Code with Resources, It‘s p\n
  • Recipes will be evaluted. Take Resources > Resource Collection . No action execution.\nRessource Collection = Array of evaluated Resources\nRuby Block Resource = Execute Ruby Code with Resources, It‘s p\n
  • Recipes will be evaluted. Take Resources > Resource Collection . No action execution.\nRessource Collection = Array of evaluated Resources\nRuby Block Resource = Execute Ruby Code with Resources, It‘s p\n
  • Recipes will be evaluted. Take Resources > Resource Collection . No action execution.\nRessource Collection = Array of evaluated Resources\nRuby Block Resource = Execute Ruby Code with Resources, It‘s p\n
  • \n
  • Converge: resource_collection.map { |resource| find_provider(resource) }\n
  • Converge: resource_collection.map { |resource| find_provider(resource) }\n
  • Converge: resource_collection.map { |resource| find_provider(resource) }\n
  • \n
  • Converge: resource_collection.map { |resource| find_provider(resource) }\n
  • \n
  • \n
  • Opscode Chef - Grundlagen

    1. 1. Enterprise Hosting Workshop Einführung in Opscode Chef Julian Fischer fischer@enterprise-rails.de http://www.enterprise-rails.de
    2. 2. Chef
    3. 3. ChefInstallationsautomatisierung
    4. 4. ChefArchitektur
    5. 5. Chef Basics
    6. 6. Chef BasicsBegriffe und Konzepte
    7. 7. Begriffe und Konzepte Nodes
    8. 8. Nodes @railshoster
    9. 9. Nodes‣ Auf Nodes wird der chef-client ausgeführt. @railshoster
    10. 10. Nodes‣ Auf Nodes wird der chef-client ausgeführt.‣ Ein Node hat eine runlist. @railshoster
    11. 11. Nodes‣ Auf Nodes wird der chef-client ausgeführt.‣ Ein Node hat eine runlist.‣ Ein Node hat Attributes. @railshoster
    12. 12. Nodes‣ Auf Nodes wird der chef-client ausgeführt.‣ Ein Node hat eine runlist.‣ Ein Node hat Attributes. ‣ Verschachtelte key/value Paare. @railshoster
    13. 13. Nodes‣ Auf Nodes wird der chef-client ausgeführt.‣ Ein Node hat eine runlist.‣ Ein Node hat Attributes. ‣ Verschachtelte key/value Paare. ‣ z.B. Versionsnummern, Pfade, ... @railshoster
    14. 14. Begriffe und Konzepte Die Runlist
    15. 15. Die Runlist @railshoster
    16. 16. Die Runlist‣ Zählt auszuführende Rezepte (Recipes) auf. @railshoster
    17. 17. Die Runlist‣ Zählt auszuführende Rezepte (Recipes) auf. ‣ Achtung: die Reihenfolge ist wichtig. @railshoster
    18. 18. Die Runlist‣ Zählt auszuführende Rezepte (Recipes) auf. ‣ Achtung: die Reihenfolge ist wichtig. ‣ Rezeptabhängigkeiten werden automatisch aufgelöst. @railshoster
    19. 19. Die Runlist @railshoster
    20. 20. Die Runlist‣ Eine Runlist kann Rollen (Roles) enthalten. @railshoster
    21. 21. Die Runlist‣ Eine Runlist kann Rollen (Roles) enthalten.‣ Rollen werden zu einer Liste von Rezepten expandiert. @railshoster
    22. 22. Begriffe und Konzepte Roles
    23. 23. Roles @railshoster
    24. 24. Roles‣ Rollen werden verwendet, um gleichartige Nodes zu verwalten. @railshoster
    25. 25. Roles‣ Rollen werden verwendet, um gleichartige Nodes zu verwalten. ‣ App Server @railshoster
    26. 26. Roles‣ Rollen werden verwendet, um gleichartige Nodes zu verwalten. ‣ App Server ‣ DB Slave Server @railshoster
    27. 27. Roles‣ Rollen werden verwendet, um gleichartige Nodes zu verwalten. ‣ App Server ‣ DB Slave Server ‣ Worker Nodes @railshoster
    28. 28. Roles @railshoster
    29. 29. Roles‣ Rollen haben eine Node-artige Struktur. @railshoster
    30. 30. Roles‣ Rollen haben eine Node-artige Struktur. ‣ Haben eine Runlist. @railshoster
    31. 31. Roles‣ Rollen haben eine Node-artige Struktur. ‣ Haben eine Runlist. ‣ Haben Attribute. @railshoster
    32. 32. Roles‣ Rollen haben eine Node-artige Struktur. ‣ Haben eine Runlist. ‣ Haben Attribute.‣ Jede Rolle wird in eine Liste von auszuführenden Rezepten aufgelöst. @railshoster
    33. 33. Node Konfiguration
    34. 34. Node Konfiguration Cookbooks
    35. 35. „Most of the time you are using Chef,you are writing cookbooks.“ http://wiki.opscode.com/display/chef/Chef+Basics
    36. 36. Cookbooks @railshoster
    37. 37. Cookbooks‣ Ein Kochbuch kann bestehen aus: @railshoster
    38. 38. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes @railshoster
    39. 39. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes ‣ Resource Definitions @railshoster
    40. 40. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes ‣ Resource Definitions ‣ Attributes @railshoster
    41. 41. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes ‣ Resource Definitions ‣ Attributes ‣ Libraries @railshoster
    42. 42. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes ‣ Resource Definitions ‣ Attributes ‣ Libraries ‣ Templates @railshoster
    43. 43. Cookbooks‣ Ein Kochbuch kann bestehen aus: ‣ Recipes ‣ Resource Definitions ‣ Attributes ‣ Libraries ‣ Templates ‣ Cookbook Files @railshoster
    44. 44. Cookbooks @railshoster
    45. 45. Cookbooks‣ Syntaktisch gesehen ist ein Cookbook eine Sammlung von Dateien und Verzeichnissen. @railshoster
    46. 46. Cookbooks‣ Syntaktisch gesehen ist ein Cookbook eine Sammlung von Dateien und Verzeichnissen.‣ Für gewöhnlichen beschreibt ein Cookbook einen einzelnen Dienst. @railshoster
    47. 47. Cookbooks‣ Syntaktisch gesehen ist ein Cookbook eine Sammlung von Dateien und Verzeichnissen.‣ Für gewöhnlichen beschreibt ein Cookbook einen einzelnen Dienst. ‣ Ruby on Rails Application @railshoster
    48. 48. Cookbooks‣ Syntaktisch gesehen ist ein Cookbook eine Sammlung von Dateien und Verzeichnissen.‣ Für gewöhnlichen beschreibt ein Cookbook einen einzelnen Dienst. ‣ Ruby on Rails Application ‣ MySQL Service, Redis Service @railshoster
    49. 49. Cookbooks‣ Syntaktisch gesehen ist ein Cookbook eine Sammlung von Dateien und Verzeichnissen.‣ Für gewöhnlichen beschreibt ein Cookbook einen einzelnen Dienst. ‣ Ruby on Rails Application ‣ MySQL Service, Redis Service ‣ ... @railshoster
    50. 50. Cookbooks sind das Werkzeugzur Wiederverwendung Ihres Chef-Quellcodes.
    51. 51. Node Konfiguration Recipes
    52. 52. Recipes @railshoster
    53. 53. Recipes‣ Ein Rezept beschreibt eine Ressource (Resource). @railshoster
    54. 54. Recipes‣ Ein Rezept beschreibt eine Ressource (Resource). ‣ In den Rezepten befindet sich der Großteil des Verhaltens eines Cookbooks. @railshoster
    55. 55. Recipes‣ Ein Rezept beschreibt eine Ressource (Resource). ‣ In den Rezepten befindet sich der Großteil des Verhaltens eines Cookbooks. ‣ Ein Rezept kann beliebigen Ruby Code enthalten. @railshoster
    56. 56. Node Konfiguration Cookbook Metadata
    57. 57. Cookbook Metadaten berschreiben die Abhängigkeiten eines Cookbooks.
    58. 58. Cookbook Metadata @railshoster
    59. 59. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks @railshoster
    60. 60. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks‣ Maintainer @railshoster
    61. 61. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks‣ Maintainer‣ Maintainer‘s email @railshoster
    62. 62. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks‣ Maintainer‣ Maintainer‘s email‣ License @railshoster
    63. 63. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks‣ Maintainer‣ Maintainer‘s email‣ License‣ Version @railshoster
    64. 64. Cookbook Metadata‣ Abhängigkeiten zu anderen Cookbooks‣ Maintainer‣ Maintainer‘s email‣ License‣ Version‣ ... @railshoster
    65. 65. Node Konfiguration Resources
    66. 66. Resources @railshoster
    67. 67. Resources‣ Repräsentier die zu konfigurierende Entität. @railshoster
    68. 68. Resources‣ Repräsentier die zu konfigurierende Entität.‣ Abstrahiert vom eingesetzten Betriebsystem. @railshoster
    69. 69. Resources‣ Repräsentier die zu konfigurierende Entität.‣ Abstrahiert vom eingesetzten Betriebsystem.‣ Werden in Recipes und Definitions deklariert. @railshoster
    70. 70. Resources‣ Repräsentier die zu konfigurierende Entität.‣ Abstrahiert vom eingesetzten Betriebsystem.‣ Werden in Recipes und Definitions deklariert.‣ Sind die elementaren Einheiten in Chef. @railshoster
    71. 71. Resources @railshoster
    72. 72. Resources‣ Bespiele @railshoster
    73. 73. Resources‣ Bespiele ‣ Resource „Package“ @railshoster
    74. 74. Resources‣ Bespiele ‣ Resource „Package“ ‣ Ubuntu: apt-get @railshoster
    75. 75. Resources‣ Bespiele ‣ Resource „Package“ ‣ Ubuntu: apt-get ‣ CentOS: YUM @railshoster
    76. 76. Node Konfiguration Provider
    77. 77. Providers @railshoster
    78. 78. Providers‣ Provider sind plattformspezifische Implementierungen einer Ressource. @railshoster
    79. 79. Providers‣ Provider sind plattformspezifische Implementierungen einer Ressource. ‣ Package Resource on CentOS > YUM Package Provider @railshoster
    80. 80. Providers @railshoster
    81. 81. Providers‣ Sichern die Idempotenz der Chef- Aktionen ab. @railshoster
    82. 82. Providers‣ Sichern die Idempotenz der Chef- Aktionen ab. ‣ Zweimaliges Aufrufen einer Aktion > Einmaliges Ausführen @railshoster
    83. 83. Providers‣ Sichern die Idempotenz der Chef- Aktionen ab. ‣ Zweimaliges Aufrufen einer Aktion > Einmaliges Ausführen ‣ 2 x Installiere Paket „git-core“ > Das Paket wird nur 1x installiert @railshoster
    84. 84. Providers @railshoster
    85. 85. Providers‣ Ein Node wählt einen Provider für eine bestimmte Ressource per Default. @railshoster
    86. 86. Providers‣ Ein Node wählt einen Provider für eine bestimmte Ressource per Default.‣ Eine Resource kann ihren Provider aber auch explizit festlegen. @railshoster
    87. 87. Meistens macht man sich keine Gedanken über Provider. Sie sind einfach da.
    88. 88. Data Bags
    89. 89. „Data bags provide an arbitrary store ofglobally available JSON data.“ http://wiki.opscode.com/display/chef/Data+Bags
    90. 90. Data Bags @railshoster
    91. 91. Data Bags‣ Sind nicht direkt mit Node oder Role Attributen verbunden. @railshoster
    92. 92. Data Bags‣ Sind nicht direkt mit Node oder Role Attributen verbunden.‣ Data Bags werden auf dem Chef- Server gespeichert. Bei Chef-Solo auf dem Node. @railshoster
    93. 93. Data Bags‣ Sind nicht direkt mit Node oder Role Attributen verbunden.‣ Data Bags werden auf dem Chef- Server gespeichert. Bei Chef-Solo auf dem Node.‣ Data Bags werden von der Chef-Suche indiziert. @railshoster
    94. 94. Data Bags @railshoster
    95. 95. Data Bags‣ Rezepte können auf Daten aus den Data Bags zugreifen. @railshoster
    96. 96. Data Bags‣ Rezepte können auf Daten aus den Data Bags zugreifen.‣ Rezepte können über die Chef-Suche Data Bags durchsuchen ->Service Discovery in der Installationsautomatisierung. @railshoster
    97. 97. Speichern Sie keine sensiblenDaten in gewöhnlichen Data Bags!
    98. 98. Verwenden Sieverschlüsselte Data Bags!
    99. 99. Encrypted Data Bags @railshoster
    100. 100. Encrypted Data Bags‣ Gut zur Speicherung sensibler Informationen, wie z.B. @railshoster
    101. 101. Encrypted Data Bags‣ Gut zur Speicherung sensibler Informationen, wie z.B. ‣ Passwords @railshoster
    102. 102. Encrypted Data Bags‣ Gut zur Speicherung sensibler Informationen, wie z.B. ‣ Passwords ‣ Access Keys @railshoster
    103. 103. Encrypted Data Bags‣ Gut zur Speicherung sensibler Informationen, wie z.B. ‣ Passwords ‣ Access Keys ‣ Andere Credentials @railshoster
    104. 104. Encrypted Data Bags @railshoster
    105. 105. Encrypted Data Bags‣ Wenn Chef kompromitiert würde > Bleibt so der Schaden gering. @railshoster
    106. 106. Encrypted Data Bags‣ Wenn Chef kompromitiert würde > Bleibt so der Schaden gering.‣ Isolieren unterschiedlicher „Groups of Trust“ durch getrennte encr. Data Bags. z.B. in dem unterschiedliche Dienste unterschiedlicher Teams unterschiedliche Data Bags erhalten. @railshoster
    107. 107. Encrypted Data Bags @railshoster
    108. 108. Encrypted Data Bags‣ Data Bag keys werden. unverschlüsselt. So kann nach ihnen gesucht bleiben @railshoster
    109. 109. Encrypted Data Bags‣ Data Bag keys werden. unverschlüsselt. So kann nach ihnen gesucht bleiben‣ Values werden verschlüsselt und sind somit sicher. @railshoster
    110. 110. Encrypted Data Bags‣ Data Bag keys werden. unverschlüsselt. So kann nach ihnen gesucht bleiben‣ Values werden verschlüsselt und sind somit sicher.‣ Shared Schlüssel. Eine Kopie liegt aufFür jedes encrypted Data Bag gibt es einen Key Encryption. dem Server, eine auf dem Rechner, der die Daten entschlüsseln möchte. @railshoster
    111. 111. Encrypted Data Bags‣ Data Bag keys werden. unverschlüsselt. So kann nach ihnen gesucht bleiben‣ Values werden verschlüsselt und sind somit sicher.‣ Shared Schlüssel. Eine Kopie liegt aufFür jedes encrypted Data Bag gibt es einen Key Encryption. dem Server, eine auf dem Rechner, der die Daten entschlüsseln möchte.‣ Der shared Key wird als Datei auf die Nodes gelegt. Die Entschlüsselung erfolgt dann transparent durch Chef. @railshoster
    112. 112. Encrypted Data Bags @railshoster
    113. 113. Encrypted Data Bags‣ Rezepte können also transparent auf verschlüsselte Data Bags zugreifen. Sie merken nichts von der Verschlüsselung. @railshoster
    114. 114. Encrypted Data Bags‣ Rezepte können also transparent auf verschlüsselte Data Bags zugreifen. Sie merken nichts von der Verschlüsselung.‣ Knife kan verschlüsselte Data Bags verwenden, in dem die --secret und --secret-file Optionen angegeben werden. @railshoster
    115. 115. Chef Suche
    116. 116. Chef Suche @railshoster
    117. 117. Chef Suche‣ Nur in Verbindung mit Chef-Server. @railshoster
    118. 118. Chef Suche‣ Nur in Verbindung mit Chef-Server. ‣ Nicht im Kontext von Chef-Solo. @railshoster
    119. 119. Chef Suche‣ Nur in Verbindung mit Chef-Server. ‣ Nicht im Kontext von Chef-Solo.‣ Liefert eine Volltextsuche. @railshoster
    120. 120. Chef Suche‣ Nur in Verbindung mit Chef-Server. ‣ Nicht im Kontext von Chef-Solo.‣ Liefert eine Volltextsuche.‣ Basiert auf Apache Solr. @railshoster
    121. 121. Chef Suche @railshoster
    122. 122. Chef Suche‣ Daten werden in einem Solr Index abgelegt @railshoster
    123. 123. Chef Suche‣ Daten werden in einem Solr Index abgelegt ‣ Data Bags @railshoster
    124. 124. Chef Suche‣ Daten werden in einem Solr Index abgelegt ‣ Data Bags ‣ API Clients @railshoster
    125. 125. Chef Suche‣ Daten werden in einem Solr Index abgelegt ‣ Data Bags ‣ API Clients ‣ Nodes @railshoster
    126. 126. Chef Suche‣ Daten werden in einem Solr Index abgelegt ‣ Data Bags ‣ API Clients ‣ Nodes ‣ Roles @railshoster
    127. 127. Chef Suche‣ Daten werden in einem Solr Index abgelegt ‣ Data Bags ‣ API Clients ‣ Nodes ‣ Roles ‣ ... @railshoster
    128. 128. Chef Search @railshoster
    129. 129. Chef Search‣ Abfragen werden durch den Chef-Server erzeugt. @railshoster
    130. 130. Chef Search‣ Abfragen werden durch den Chef-Server erzeugt.‣ Erlaubt den Abruf von Informationen über sämtliche Knoten sowie die restliche Inftrastruktur. @railshoster
    131. 131. Chef Search @railshoster
    132. 132. Chef Search‣ Methoden zur Verwendung der Chef- Suche @railshoster
    133. 133. Chef Search‣ Methoden zur Verwendung der Chef- Suche ‣ Verwendung des search Kommandos in Rezepten. @railshoster
    134. 134. Chef Search‣ Methoden zur Verwendung der Chef- Suche ‣ Verwendung des search Kommandos in Rezepten. ‣ Verwendung des knive search Kommandos an der Kommandozeile. @railshoster
    135. 135. Chef Suche @railshoster
    136. 136. Chef Suche‣ Sehr wichtig für die Erstellung von Rezepten. @railshoster
    137. 137. Chef Suche‣ Sehr wichtig für die Erstellung von Rezepten. ‣ App Server Rezept kann search Verwenden, um die zugehörige Datenbank zu finden. @railshoster
    138. 138. Chef Suche @railshoster
    139. 139. Chef Suche‣ Knive search Beispiele @railshoster
    140. 140. Chef Suche‣ Knive search Beispiele ‣ knife search role "name:production*" @railshoster
    141. 141. Chef Suche‣ Knive search Beispiele ‣ knife search role "name:production*" ‣ knife search node "name:app*" @railshoster
    142. 142. Chef Suche‣ Knive search Beispiele ‣ knife search role "name:production*" ‣ knife search node "name:app*" ‣ knife search client "name:c*" @railshoster
    143. 143. Chef Suche @railshoster
    144. 144. Chef Suche‣ Verwendung von Databagnamen zur Suche von Databags: @railshoster
    145. 145. Chef Suche‣ Verwendung von Databagnamen zur Suche von Databags: ‣ knife search my_bag "key:value" @railshoster
    146. 146. Chef Run
    147. 147. Chef RunKonvergenz
    148. 148. Konvergenz @railshoster
    149. 149. Konvergenz‣ Chef Run = Konvergenz @railshoster
    150. 150. Konvergenz‣ Chef Run = Konvergenz‣ Das System konvergiert mit jedem Lauf und jeder Aktion hin zum gewünschten Systemzustand. @railshoster
    151. 151. Konvergenz‣ Chef Run = Konvergenz‣ Das System konvergiert mit jedem Lauf und jeder Aktion hin zum gewünschten Systemzustand.‣ Ziel ist das ein einzelner Chef-Run das System in seinen Zielzustand überführt! Das ist das Designziel bei der Erstellung von Cookbooks und Runlists. @railshoster
    152. 152. Konvergenz @railshoster
    153. 153. Konvergenz‣ Chef erneut zu starten, nach dem Chef- Lauf fehlgeshclagen ist, sollte das System näher zu seinem Zielzustand bringen > Konvergenz @railshoster
    154. 154. Chef RunDer Run Prozess
    155. 155. Der Run Prozess @railshoster
    156. 156. Der Run Prozess1. Erstelle, registere, authentifizere den Node @railshoster
    157. 157. Der Run Prozess1. Erstelle, registere, authentifizere den Node2. Synchronisiere die Cookbooks @railshoster
    158. 158. Der Run Prozess1. Erstelle, registere, authentifizere den Node2. Synchronisiere die Cookbooks3. Kompiliere die Resource Collection @railshoster
    159. 159. Der Run Prozess1. Erstelle, registere, authentifizere den Node2. Synchronisiere die Cookbooks3. Kompiliere die Resource Collection4. Konfigure die Nodes @railshoster
    160. 160. Der Run Prozess1. Erstelle, registere, authentifizere den Node2. Synchronisiere die Cookbooks3. Kompiliere die Resource Collection4. Konfigure die Nodes5. Führe notification Handler aus @railshoster
    161. 161. Der Run Prozess1/5 Build, Register,Authenticate Node
    162. 162. Build the Node
    163. 163. Build the Node @railshoster
    164. 164. Build the Node‣ Zuerst erzeugt Chef einen Node @railshoster
    165. 165. Build the Node‣ Zuerst erzeugt Chef einen Node ‣ Ohai discovery der OS Details. @railshoster
    166. 166. Build the Node‣ Zuerst erzeugt Chef einen Node ‣ Ohai discovery der OS Details. ‣ Hole Infos über den Node vom Chef-Server (! Solo). @railshoster
    167. 167. Build the Node‣ Zuerst erzeugt Chef einen Node ‣ Ohai discovery der OS Details. ‣ Hole Infos über den Node vom Chef-Server (! Solo). ‣ Füge JSON Attributes oder Recipes hinzu @railshoster
    168. 168. Build the Node‣ Zuerst erzeugt Chef einen Node ‣ Ohai discovery der OS Details. ‣ Hole Infos über den Node vom Chef-Server (! Solo). ‣ Füge JSON Attributes oder Recipes hinzu ‣ Füge Ohai Attributes hinzu @railshoster
    169. 169. Register @ Chef-Server
    170. 170. Register @ Chef-Server @railshoster
    171. 171. Register @ Chef-Server‣ Überprüfe die private key Datei in /etc/chef/ client.pem @railshoster
    172. 172. Register @ Chef-Server‣ Überprüfe die private key Datei in /etc/chef/ client.pem‣ Gehe von einem neuen Knoten aus, falls nicht. @railshoster
    173. 173. Register @ Chef-Server‣ Überprüfe die private key Datei in /etc/chef/ client.pem‣ Gehe von einem neuen Knoten aus, falls nicht. ‣ Verwende die chef-validator-client identity um einen neuen Knoten zu registrieren. > Generiert eine client.pem @railshoster
    174. 174. Register @ Chef-Server‣ Überprüfe die private key Datei in /etc/chef/ client.pem‣ Gehe von einem neuen Knoten aus, falls nicht. ‣ Verwende die chef-validator-client identity um einen neuen Knoten zu registrieren. > Generiert eine client.pem‣ Register @ Chef-Server using client.pem @railshoster
    175. 175. The run process2/5 Synchronize Cookbooks
    176. 176. Synchronize Cookbooks @railshoster
    177. 177. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: @railshoster
    178. 178. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: ‣ Libraries @railshoster
    179. 179. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: ‣ Libraries ‣ Attributes @railshoster
    180. 180. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: ‣ Libraries ‣ Attributes ‣ Definitions @railshoster
    181. 181. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: ‣ Libraries ‣ Attributes ‣ Definitions ‣ Recipes in all Cookbooks @railshoster
    182. 182. Synchronize Cookbooks‣ Chef-Client > Chef-Server > Abrufen von: ‣ Libraries ‣ Attributes ‣ Definitions ‣ Recipes in all Cookbooks‣ Lokales Caching! @railshoster
    183. 183. The run process3/5 Compile Resource Collection
    184. 184. Compile Res. Collection @railshoster
    185. 185. Compile Res. Collection‣ Zusammensetzen der Ressourcen für den Knoten @railshoster
    186. 186. Compile Res. Collection‣ Zusammensetzen der Ressourcen für den Knoten ‣ Load Libraries @railshoster
    187. 187. Compile Res. Collection‣ Zusammensetzen der Ressourcen für den Knoten ‣ Load Libraries ‣ Load Attributes @railshoster
    188. 188. Compile Res. Collection‣ Zusammensetzen der Ressourcen für den Knoten ‣ Load Libraries ‣ Load Attributes ‣ Load Definitions @railshoster
    189. 189. Compile Res. Collection @railshoster
    190. 190. Compile Res. Collection‣ Assemble resources for the Node @railshoster
    191. 191. Compile Res. Collection‣ Assemble resources for the Node ‣ Lade Rezepte @railshoster
    192. 192. Compile Res. Collection‣ Assemble resources for the Node ‣ Lade Rezepte ‣ Erzeuge eine Resource Collection @railshoster
    193. 193. Compile Res. Collection‣ Assemble resources for the Node ‣ Lade Rezepte ‣ Erzeuge eine Resource Collection ‣ Evaluiere Ruby Code (außerhalb von Resources) @railshoster
    194. 194. Der Run Prozess4/5 Configure Node
    195. 195. Configure Node @railshoster
    196. 196. Configure Node‣ Bereit zur Systemkonfiguration @railshoster
    197. 197. Configure Node‣ Bereit zur Systemkonfiguration‣ Konvergenz Pseudo Code: resource_collection.map do |resource| find_provider(resource) end @railshoster
    198. 198. Configure Node‣ Bereit zur Systemkonfiguration‣ Konvergenz Pseudo Code: resource_collection.map do |resource| find_provider(resource) end‣ Speichere den Node state auf die Platte oder auf dem chef-server (=> index) @railshoster
    199. 199. The run process5/5 Run Notification Handlers
    200. 200. Execute Exeption Handlers
    201. 201. Talk Resources @railshoster
    202. 202. Talk Resources ‣ Article about Chef Basics http://wiki.opscode.com/display/chef/ Chef+Basics @railshoster
    203. 203. Talk Resources ‣ Article about Chef Basics http://wiki.opscode.com/display/chef/ Chef+Basics ‣ Opscode Hosted Chef http://www.opscode.com/hosted-chef/ @railshoster

    ×