Wie installiere ich Chef unter Ubuntu 18?

Erfahren Sie, wie Sie Chef unter Ubuntu installieren…


Chef ist ein Konfigurationsmanagement-Tool, das auf Ruby basiert. Es wird verwendet, um die Verwaltung von Konfigurationen auf allen Knoten im Cluster zu automatisieren und die Konsistenz aufrechtzuerhalten. Es gibt drei Hauptkomponenten von Chef.

  • Chef Server
  • Arbeitsplatz
  • Knoten

Alle Konfigurationen werden von Workstations aus verwaltet und später auf den Chef-Server übertragen. Der Chef-Server ist der zentrale Speicher aller Infrastrukturkonfigurationen. Knife ist ein Befehlszeilenprogramm, das auf einer Workstation vorhanden ist und zur Interaktion mit Chef Server verwendet wird. Auf Knoten werden Chef-Clients ausgeführt, die Konfigurationsinformationen vom Chef-Server anfordern.

So sieht eine typische Chef-Architektur aus:

Kocharchitektur

Lassen Sie uns nun Chef Server, Workstation und Node (Chef Client) einrichten..

Umgebungsdetails

Ich benutze 3 Ubuntu 18.04 Systeme. Einer fungiert als Chef-Server, der nächste als Workstation und ein drittes System als Knoten.

Chef Server

  • Hostname: Chef-Geekflare
  • IP-Adresse: 192.168.0.107

Arbeitsplatz

  • Hostname: Workstation
  • IP-Adresse: 192.168.0.108

Knoten

  • Hostname: Client-Knoten
  • IP-Adresse: 192.168.0.109

Bevor ich mit der Installation beginne, muss ich das bearbeiten / etc / hosts Datei aller Systeme, damit sie sich gegenseitig auflösen können. Bearbeiten Sie die Datei / etc / hosts auf allen Systemen wie unten gezeigt.

[E-Mail geschützt]: ~ $
127.0.0.1 localhost
127.0.1.1 Geekflare
192.168.0.107 chef-geekflare
192.168.0.108 Chef-Workstation
192.168.0.109 Client-Knoten

Ich werde den folgenden Befehl auf allen drei Systemen ausführen, um sie zu aktualisieren.

[E-Mail geschützt]: ~ $ sudo apt update

[sudo] Passwort für Geekflare:

Treffer: 1 http://security.ubuntu.com/ubuntu Cosmic-Security InRelease

Holen Sie sich: 2 https://download.docker.com/linux/ubuntu bionic InRelease [64,4 kB]

Treffer: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu cosmic InRelease

Treffer: 4 http://us.archive.ubuntu.com/ubuntu cosmic InRelease

Holen Sie sich: 5 https://download.docker.com/linux/ubuntu bionic / stabile amd64-Pakete [9,594 B]

Treffer: 6 http://us.archive.ubuntu.com/ubuntu kosmische Updates InRelease

Treffer: 7 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

Get: 8 http://apt.puppetlabs.com bionic InRelease [85,3 kB]

Holen Sie sich: 9 http://apt.puppetlabs.com bionic / puppet6 amd64 Pakete [32,4 kB]

192 kB in 2 s (84,6 kB / s) abgerufen

Paketlisten lesen … Fertig

Abhängigkeitsbaum erstellen

Statusinformationen lesen … Fertig

233 Pakete können aktualisiert werden. Führen Sie ‘apt list –upgradable’ aus, um sie anzuzeigen.

Chef Server Installation

Chef Server ist eine Komponente in der Architektur, die Workstation und Knoten verbindet. Wenn die Konfigurationen auf einer Workstation bearbeitet / geändert werden, werden sie auf den Chef-Server übertragen, und alle Knoten ziehen diese Konfigurationsänderungen vom Chef-Server.

Lassen Sie uns nun den folgenden Befehl ausführen, um das Chef-Server-Paket herunterzuladen.

[E-Mail geschützt]: ~ $ wget https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

–2019-10-23 04: 04: 35– https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

Speichern unter: “chef-server-core_13.0.17-1_amd64.deb”

chef-server-core_13 100% [===================>] 240,58 M 1,33 MB / s in 6 m 16 s

2019-10-23 04:10:51 (656 KB / s) – “chef-server-core_13.0.17-1_amd64.deb” gespeichert [252269838/252269838]

Jetzt müssen Sie den folgenden Befehl ausführen, um den Chef-Server zu installieren.

[E-Mail geschützt]: ~ $ sudo dpkg -i Chef-Server-Kern _ *. deb

chef-server-ctl ist ein Befehlszeilenprogramm in chef-server. Ich werde dieses Dienstprogramm verwenden, um die Chef-Server-Dienste zu starten.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl neu konfigurieren

Laufende Handler:

Laufende Handler abgeschlossen

Chef Infra Client fertig, 481/1028 Ressourcen in 04 Minuten 08 Sekunden aktualisiert

Chef Server neu konfiguriert!

Sie können den Status der Dienste, die gestartet wurden, mit dem folgenden Befehl überprüfen.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl status

run: bookshelf: (pid 2452) 822s; run: log: (pid 29553) 951s

run: nginx: (pid 2318) 826s; run: log: (pid 30216) 908s

run: oc_bifrost: (pid 2296) 827s; run: log: (pid 29240) 996s

run: oc_id: (pid 2304) 826s; run: log: (pid 29308) 979s

run: opscode-erchef: (pid 2511) 822s; run: log: (pid 29707) 946s

run: opscode-expander: (pid 2416) 822s; run: log: (pid 29412) 958s

run: opscode-solr4: (pid 2393) 824s; run: log: (pid 29358) 964s

run: postgresql: (pid 2264) 827s; run: log: (pid 28769) 1021s

run: rabbitmq: (pid 3183) 792s; run: log: (pid 30476) 902s

run: redis_lb: (pid 30011) 926s; run: log: (pid 30010) 926s

Benutzer und Organisation erstellen

Der Chef-Server verbindet Workstation- und Client-Knoten. Um sie zu verknüpfen, erstelle ich einen Administrator und einen Organisator mit ihren privaten Schlüsseln.

 Erstellen Sie zunächst ein .chef-Verzeichnis zum Speichern der Schlüssel.

[E-Mail geschützt]: ~ $ mkdir .chef

Jetzt werde ich chef-server-ctl verwenden, um einen Benutzer zu erstellen. Im folgenden Befehl ist chefadmin der Benutzer, Chef ist der Vorname, GeekFlare ist der Nachname, [E-Mail geschützt] ist die E-Mail-ID, geekflare ist das Passwort, chefadmin.pen ist der RSA-Schlüssel.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl user-create chefadmin Chef GeekFlare [E-Mail geschützt] ‘geekflare’ –Dateiname ~ / .chef / chefadmin.pem

Lassen Sie uns einen Befehl ausführen, um die Liste der Benutzer auf dem Chef-Server zu überprüfen.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl Benutzerliste

Chefadmin

schwenkbar

Jetzt werde ich chef-server-ctl verwenden, um eine Organisation zu erstellen. Im folgenden Befehl ist chef-org der Name der Organisation, Geekflare Chef Infrastructure der vollständige Name der Organisation, chefadmin der Benutzer, den wir gerade erstellt haben. Chef-org.pem ist der RSA-Schlüssel.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl org-create chef-org "Geekflare Chef Infrastruktur" –assoziationsbenutzer chefadmin –dateiname ~ / .chef / chef-org.pem

 Lassen Sie uns einen Befehl ausführen, um die Liste der Organisationen auf dem Chef-Server zu überprüfen.

[E-Mail geschützt]: ~ $ sudo chef-server-ctl org-liste

Chef-Org

Ich habe den Chef-Server vollständig installiert. Lassen Sie uns fortfahren und die Workstation installieren, auf der alle Konfigurationen erstellt werden.

Arbeitsplatz

Workstation ist der Ort, an dem Benutzer Kochbücher erstellen. Kochbücher sind nichts anderes als die Konfigurationseinheiten, die zum Ausführen bestimmter Aufgaben erstellt wurden.

Führen Sie den folgenden Befehl aus, um das Chef-Workstation-Paket herunterzuladen.

[E-Mail geschützt]: ~ $ wget https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

–2019-10-23 05: 37: 41– https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

Auflösen von packages.chef.io (packages.chef.io) … 151.101.194.110, 151.101.130.110, 151.101.66.110, …

Verbindung zu packages.chef.io (packages.chef.io) herstellen | 151.101.194.110 |: 443 … verbunden.

HTTP-Anfrage gesendet und wartet auf Antwort … 200 OK

Länge: 129713682 (124M) [application / x-debian-package]

Speichern unter: “chef-workstation_0.2.43-1_amd64.deb”

chef-workstation_0.2.43-1_ 100% [========================================>] 123,70 M 2,37 MB / s in 4 m 25 s

2019-10-23 05:42:18 (477 KB / s) – “chef-workstation_0.2.43-1_amd64.deb” gespeichert [129713682/129713682]

Lassen Sie uns den Befehl dpkg ausführen, um eine Workstation auf dem Ubuntu-System zu installieren.

[E-Mail geschützt]: ~ $ sudo dpkg -i chef-workstation _ *. deb

Auswahl der zuvor nicht ausgewählten Paket-Chef-Workstation.

(Datenbank lesen … 273360 Dateien und Verzeichnisse derzeit installiert.)

Vorbereiten des Auspackens von chef-workstation_0.2.43-1_amd64.deb …

Chef-Workstation auspacken (0.2.43-1) …

Einrichten der Chef-Workstation (0.2.43-1) …

Verwenden Sie Ihre, um die experimentelle Chef Workstation App auszuführen

Paketmanager der Plattform zum Installieren dieser Abhängigkeiten:

libgconf-2.so.4 => nicht gefunden

Sie können die App dann starten, indem Sie ‘chef-workstation-app’ ausführen..

Die App ist dann in der Taskleiste verfügbar.

Vielen Dank, dass Sie Chef Workstation installiert haben!

Einige Tipps zum Einstieg finden Sie unter https://chef.sh/

Ich werde jetzt einen Befehl ausführen, um ein Koch-Repository zu erstellen, das alle Kochbücher und andere Dateien enthält.

[E-Mail geschützt]: ~ $ chef generiere repo chef-repo

Rezept: code_generator :: repo

* Verzeichnis [/ home / geekflare / chef-repo] Aktion erstellen

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo

* template [/ home / geekflare / chef-repo / LIZENZ] Aktion create_if_missing

– Erstellen Sie eine neue Datei / home / geekflare / chef-repo / LICENSE

– Aktualisieren Sie den Inhalt in Datei / home / geekflare / chef-repo / LICENSE von none auf 3c525c

(Diff-Ausgabe durch Konfiguration unterdrückt)

* cookbook_file [/home/geekflare/chef-repo/.chef-repo.txt] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/.chef-repo.txt

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/.chef-repo.txt von none auf 2bed28

(Diff-Ausgabe durch Konfiguration unterdrückt)

* cookbook_file [/home/geekflare/chef-repo/README.md] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/README.md

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/README.md von none auf 2b4f46

(Diff-Ausgabe durch Konfiguration unterdrückt)

* cookbook_file [/ home / geekflare / chef-repo / chefignore] Aktion create_if_missing

– Erstelle eine neue Datei / home / geekflare / chef-repo / chefignore

– Aktualisieren Sie den Inhalt in Datei / home / geekflare / chef-repo / chefignore von none auf 9e2ffd

(Diff-Ausgabe durch Konfiguration unterdrückt)

* remote_directory [/ home / geekflare / chef-repo / cookbooks] Aktion create_if_missing

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo / cookbooks

Rezept: code_generator :: repo

* cookbook_file [/home/geekflare/chef-repo/cookbooks/README.md] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/cookbooks/README.md

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/cookbooks/README.md von none auf 54b03d

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Führen Sie den Aktionslauf [initialize-git] aus

– git init ausführen .

* template [/home/geekflare/chef-repo/.gitignore] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/.gitignore

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/.gitignore von none auf 11e5ee

(Diff-Ausgabe durch Konfiguration unterdrückt)

Jetzt werde ich das Verzeichnis /chef-repo/.chef erstellen, in dem alle Messerkonfigurationen und die RSA-Schlüssel gespeichert werden.

[E-Mail geschützt]: ~ $ mkdir ~ / chef-repo / .chef

[E-Mail geschützt]: ~ $ cd chef-repo /

Lassen Sie uns nun ein RSA-Schlüsselpaar generieren. Wir generieren diesen Schlüssel, um die Workstation zu authentifizieren und Zugriff auf den Chef-Server zu erhalten.

[E-Mail geschützt]: ~ / chef-repo $ ssh-keygen -b 4096

Generieren eines öffentlichen / privaten RSA-Schlüsselpaars.

Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/home/geekflare/.ssh/id_rsa):

Passphrase eingeben (leer für keine Passphrase):

Geben Sie dieselbe Passphrase erneut ein:

Ihre Identifikation wurde in /home/geekflare/.ssh/id_rsa gespeichert.

Ihr öffentlicher Schlüssel wurde in /home/geekflare/.ssh/id_rsa.pub gespeichert.

Der wichtigste Fingerabdruck lautet:

SHA256: oK / ZyLn + AOMj97F5Z0e1K5o1bxChyKx3ms4HvK06DxI [E-Mail geschützt]

Das Randomart-Bild des Schlüssels lautet:

+—[RSA 4096]—-+

| |

| . |

| Ö.. . . |

| . + … . |

| E .o S o. |

| . + .. +. Ö . |

|. = + .. B .o. . |

| o =.&= = oooo |

| .&OB = oo o. |

+—-[SHA256]—–+

Kopieren Sie nun den Schlüssel von der Workstation auf den Chef-Server.

[E-Mail geschützt]: ~ / chef-repo $ sudo ssh-copy-id [E-Mail geschützt]

/ usr / bin / ssh-copy-id: INFO: Quelle der zu installierenden Schlüssel: "/home/geekflare/.ssh/id_rsa.pub"

/ usr / bin / ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um bereits installierte Schlüssel herauszufiltern

/ usr / bin / ssh-copy-id: INFO: 1 Schlüssel müssen noch installiert werden – wenn Sie jetzt dazu aufgefordert werden, müssen die neuen Schlüssel installiert werden

[E-Mail geschützt]Passwort:

Anzahl der hinzugefügten Schlüssel: 1

Versuchen Sie nun, sich am Computer anzumelden, mit: "ssh ‘[E-Mail geschützt]‘"

und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden.

Jetzt kopiere ich die .pem-Dateien (chefadmin.pem und chef-org.pem) vom Chef-Server auf die Workstation.

[E-Mail geschützt]: ~ / chef-repo $ scp [E-Mail geschützt]: ~ / .chef / *. pem ~ / chef-repo / .chef /

chefadmin.pem 100% 1674 105,1 KB / s 00:00

chef-org.pem 100% 1674 103,0 KB / s 00:00

Überprüfen Sie, ob .pem-Dateien erfolgreich auf die Workstation kopiert wurden.

[E-Mail geschützt]: ~ / chef-repo $ ls ~ / chef-repo / .chef

chefadmin.pem chef-org.pem

Versionskontrolle erstellen

Während der Arbeit an einer Workstation werden viele Änderungen und Bearbeitungen in Kochbüchern (Konfigurationseinheiten) vorgenommen. Daher ist ein Versionskontrollsystem erforderlich, um diese Änderungen zu verfolgen. Lassen Sie uns also ein Versionskontrollsystem mit Git auf der Workstation erstellen. Ich werde ein Git-Repository im Chef-Repo-Verzeichnis erstellen. Ich werde einen Benutzernamen und eine E-Mail hinzufügen, um git zu konfigurieren

[E-Mail geschützt]: ~ $ git config –global user.name geekflare

[E-Mail geschützt]: ~ $ git config –global user.email [E-Mail geschützt]

Fügen wir das .chef-Verzeichnis zur .gitignore-Datei hinzu.

[E-Mail geschützt]: ~ $ echo ".Koch" > ~ / chef-repo / .gitignore

Jetzt werde ich git-Befehle zum Hinzufügen und Festschreiben aus einem Chef-Repo-Verzeichnis ausführen.

[E-Mail geschützt]: ~ $ cd ~ / chef-repo

[E-Mail geschützt]: ~ / chef-repo $ git hinzufügen .

[E-Mail geschützt]: ~ / chef-repo $ git commit -m "anfängliches Commit"

[master (root-commit) 99c8c11] anfängliches Commit

16 Dateien geändert, 359 Einfügungen (+)

Erstellungsmodus 100644 .chef-repo.txt

Erstellungsmodus 100644 .gitignore

Erstellungsmodus 100644 LIZENZ

Erstellungsmodus 100644 README.md

Erstellungsmodus 100644 chefignore

Erstellungsmodus 100644 Kochbücher / README.md

Erstellungsmodus 100644 Kochbücher / Beispiel / README.md

Erstellungsmodus 100644 Kochbücher / Beispiel / Attribute / Standard.rb

Erstellungsmodus 100644 cookbooks / example / metadata.rb

Erstellungsmodus 100644 Kochbücher / Beispiel / Rezepte / Standard.rb

Erstellungsmodus 100644 data_bags / README.md

Erstellungsmodus 100644 data_bags / example / example_item.json

Erstellungsmodus 100644 Umgebungen / README.md

Erstellungsmodus 100644 Umgebungen / Beispiel.json

Erstellungsmodus 100644 Rollen / README.md

Erstellungsmodus 100644 role / example.json

Überprüfen Sie den Status.

[E-Mail geschützt]: ~ / chef-repo $ git status

Auf Zweigstamm

nichts zu begehen, Baum sauber zu arbeiten

Generieren Sie Ihr erstes Kochbuch

Jetzt ist die Installation von WorkStation abgeschlossen und Sie können Kochbücher auf der WorkStation erstellen. Versuchen Sie, ein Beispielkochbuch auf der WorkStation zu erstellen, und prüfen Sie, ob es erfolgreich generiert wird.

Ich werde den folgenden Befehl ausführen, um ein Kochbuch zu generieren.

[E-Mail geschützt]: ~ $ Chef Kochbuch generieren geekflare_cookbook

Kochbuch generieren geekflare_cookbook

– Sicherstellen des korrekten Inhalts der Kochbuchdatei

– Festschreiben von Kochbuchdateien an Git

– Sicherstellung der Lieferkonfiguration

– Sicherstellen, dass die Lieferung korrekt ist, erstellen Sie Kochbuchinhalte

– Hinzufügen der Übermittlungskonfiguration zum Feature-Zweig

– Hinzufügen eines Build-Kochbuchs zum Feature-Zweig

– Zusammenführen des Zweigs für Lieferinhaltsfunktionen zum Master

Ihr Kochbuch ist fertig. Geben Sie “cd geekflare_cookbook” ein, um es einzugeben.

Es gibt verschiedene Befehle, die Sie ausführen können, um mit der lokalen Entwicklung und dem Testen Ihres Kochbuchs zu beginnen.

Geben Sie `delivery local –help` ein, um eine vollständige Liste anzuzeigen.

Warum nicht gleich einen Test schreiben? Tests für das Standardrezept werden gespeichert unter:

test / integration / default / default_test.rb

Wenn Sie lieber direkt eintauchen möchten, finden Sie das Standardrezept unter:

Rezepte / default.rb

Generieren Sie Chef-Repo und wechseln Sie dann in ein Chef-Repo-Verzeichnis

[E-Mail geschützt]: ~ $ Chef generieren App Chef-Repo

WARNUNG: Der Befehl ‘Chef Generator App’ ist veraltet und wird aus der nächsten Hauptversion von Chef DK / Workstation (April 2019) entfernt.

Rezept: code_generator :: app

* Verzeichnis [/ home / geekflare / chef-repo] Aktion erstellen (aktuell)

* template [/home/geekflare/chef-repo/.kitchen.yml] Aktion erstellen

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/.kitchen.yml

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/.kitchen.yml von none auf ceae09

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Verzeichnis [/ home / geekflare / chef-repo / test / integration / default] Aktion erstellen

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo / test / integration / default

* template [/home/geekflare/chef-repo/test/integration/default/default_test.rb] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/test/integration/default/default_test.rb

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/test/integration/default/default_test.rb von none auf 0f757b

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Vorlage [/home/geekflare/chef-repo/README.md] Aktion erstellen

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/README.md von 2b4f46 auf 6401b8

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Verzeichnis [/ home / geekflare / chef-repo / cookbooks] Aktion erstellen (aktuell)

* Verzeichnis [/ home / geekflare / chef-repo / cookbooks / chef-repo] Aktion erstellen

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo / cookbooks / chef-repo

* template [/home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb] Aktion erstellen

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb von none auf e30be3

(Diff-Ausgabe durch Konfiguration unterdrückt)

* cookbook_file [/ home / geekflare / chef-repo / kochbücher / chef-repo / chefignore] aktion erstellen

– Erstellen Sie eine neue Datei / home / geekflare / chef-repo / cookbooks / chef-repo / chefignore

– Aktualisieren Sie den Inhalt in Datei / home / geekflare / chef-repo / cookbooks / chef-repo / chefignore von none auf 9e2ffd

(Diff-Ausgabe durch Konfiguration unterdrückt)

* cookbook_file [/ home / geekflare / chef-repo / kochbücher / chef-repo / berksfile] aktion erstellen

– Erstellen Sie eine neue Datei / home / geekflare / chef-repo / cookbooks / chef-repo / Berksfile

– Aktualisieren Sie den Inhalt in Datei / home / geekflare / chef-repo / cookbooks / chef-repo / Berksfile von none auf 15e000

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Verzeichnis [/ home / geekflare / chef-repo / kochbücher / chef-repo / rezepte] aktion erstellen

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo / cookbooks / chef-repo / rezepte

* template [/home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb] Aktion erstellen

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb von none auf f56ecb

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Verzeichnis [/ home / geekflare / chef-repo / cookbooks / chef-repo / spec / unit / Rezepte] Aktion erstellen

– Erstelle ein neues Verzeichnis / home / geekflare / chef-repo / cookbooks / chef-repo / spec / unit / rezepte

* cookbook_file [/home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb von none auf 1f80e1

(Diff-Ausgabe durch Konfiguration unterdrückt)

* template [/home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb] Aktion create_if_missing

– Erstellen Sie eine neue Datei /home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb von none auf 666a01

(Diff-Ausgabe durch Konfiguration unterdrückt)

* Führen Sie den Aktionslauf [initialize-git] aus

– git init ausführen .

* cookbook_file [/home/geekflare/chef-repo/.gitignore] Aktion erstellen

– Aktualisieren Sie den Inhalt in der Datei /home/geekflare/chef-repo/.gitignore von 25558e auf edcd62

(Diff-Ausgabe durch Konfiguration unterdrückt)

Messer konfigurieren

Knife ist ein Befehlszeilenprogramm zum Verwalten von Knoten, Kochbüchern und Rezepten. Um Knife zu konfigurieren, erstellen Sie eine config.rb-Datei und fügen Sie den folgenden Inhalt in die Datei ein. Dies sind Messerkonfigurationen.

[E-Mail geschützt]: ~ $ sudo gedit ~ / chef-repo / .chef / config.rb
current_dir = File.dirname (__ FILE__)

log_level: info

log_location STDOUT

Knotenname ‘chefadmin’

client_key "chefadmin.pem"

validation_client_name ‘chef-org-validator’

validation_key "chef-org-validator.pem"

chef_server_url ‘https: // chef-geekflare / organisations / chef-org’

cache_type ‘BasicFile’

cache_options (: path => "# {ENV [‘HOME’]} /. Chef / Prüfsummen" )

cookbook_path ["# {current_dir} /../ Kochbücher"]]

Gehen Sie nun in ein Chef-Repo-Verzeichnis und kopieren Sie die SSL-Zertifikate.

[E-Mail geschützt]: ~ $ cd chef-repo

[E-Mail geschützt]: ~ / chef-repo $ messer ssl holen

WARNUNG: Zertifikate von chef-geekflare werden abgerufen und in Ihrem vertrauenswürdigen Zertifikat abgelegt

Verzeichnis (/home/geekflare/chef-repo/.chef/trusted_certs).

Knife kann nicht überprüfen, ob es sich um die richtigen Zertifikate handelt. Du solltest

Überprüfen Sie nach dem Herunterladen die Echtheit dieser Zertifikate.

Hinzufügen eines Zertifikats für chef-geekflare in /home/geekflare/chef-repo/.chef/trusted_certs/chef-geekflare.crt

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob config.rb richtig eingestellt ist.

[E-Mail geschützt]: ~ / Chef-Repo $ Messer Kundenliste

Chef-Org-Validator

Booten Sie einen Knoten

Bootstrap wird vom Workstation-Computer ausgeführt und installiert den Chef-Client auf den Knoten. Die Knoten können dann Konfigurationen vom Chef-Server lesen, indem sie den Benutzer und das Kennwort des Clientknotens verwenden, um einen Knoten zu booten.

Ich werde jetzt einen Knoten mit der IP-Adresse 192.168.0.109, dem Benutzernamen geekflare und dem Passwort geekflare.org booten.

[E-Mail geschützt]: ~ / chef-repo / .chef $ messer bootstrap 192.168.0.109 -x geekflare -P geekflare.org –knotenname geekflare-client-1

Neuen Client für geekflare-client-1 erstellen

Neuen Knoten für geekflare-client-1 erstellen

Verbindung zu 192.168.0.109 herstellen

192.168.0.109 —–> Chef Omnibus installieren (-v 14)

192.168.0.109 https://omnitruck-direct.chef.io/chef/install.sh herunterladen

192.168.0.109 in die Datei /tmp/install.sh.9250/install.sh

192.168.0.109 wget versuchen…

192.168.0.109 ubuntu 18.10 x86_64

192.168.0.109 Informationen für Chef Stall 14 für Ubuntu abrufen…

192.168.0.109 https://omnitruck-direct.chef.io/stable/chef/metadata?v=14 herunterladen&p = Ubuntu&pv = 18,10&m = x86_64

192.168.0.109 in die Datei /tmp/install.sh.9261/metadata.txt

192.168.0.109 wget versuchen…

192.168.0.109 sha1 534bae390bde3bd9d93bef99335f62246624f32b

192.168.0.109 sha256 94bc60b3a97ddadf77a70c7678ec77a676942c74f8152a2c70a0f5b68e22a42e

192.168.0.109 URL https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb

192.168.0.109 Version 14.14.25

Die heruntergeladene Metadatendatei 192.168.0.109 sieht gültig aus…

192.168.0.109 https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb herunterladen

192.168.0.109 in die Datei /tmp/install.sh.9261/chef_14.14.25-1_amd64.deb

192.168.0.109 wget versuchen…

192.168.0.109 Prüfsumme mit sha256sum vergleichen…

192.168.0.109 Koch installieren 14

192.168.0.109 Installation mit dpkg…

192.168.0.109 Vorher nicht ausgewählten Paketkoch auswählen.

(Datenbank lesen … 204803 Dateien und Verzeichnisse derzeit installiert.)

192.168.0.109 Vorbereiten des Auspackens … / chef_14.14.25-1_amd64.deb …

192.168.0.109 Koch auspacken (14.14.25-1) …

192.168.0.109 Koch einrichten (14.14.25-1) …

192.168.0.109 Vielen Dank, dass Sie Chef Infra Client installiert haben! Hilfe zum Einstieg finden Sie unter https://learn.chef.io

192.168.0.109 Starten des ersten Chef Client-Laufs…

192.168.0.109 Chef Client wird gestartet, Version 14.14.25

192.168.0.109 Auflösen von Kochbüchern für die Ausführungsliste: []

192.168.0.109 Synchronisieren von Kochbüchern:

192.168.0.109 Installieren von Cookbook Gems:

192.168.0.109 Kochbücher zusammenstellen…

192.168.0.109 [2019-10-23T10: 52: 57-04: 00] WARNUNG: Der Knoten geekflare-client-1 hat eine leere Ausführungsliste.

192.168.0.109 Konvergieren von 0 Ressourcen

192.168.0.109

192.168.0.109 Handler ausführen:

192.168.0.109 Handler vollständig ausführen

192.168.0.109 Chef Client beendet, 0/0 Ressourcen in 07 Sekunden aktualisiert

Ich werde jetzt alle Knoten auflisten, die gebootet wurden

[E-Mail geschützt]: ~ / chef-repo / .chef $ Messerknotenliste

geekflare-client-1

Führen Sie den folgenden Befehl aus, um die Details des Knotens abzurufen.

[E-Mail geschützt]: ~ / chef-repo / .chef $ Messerknoten show geekflare-client-1

Knotenname: geekflare-client-1

Umgebung: _default

FQDN: Client-Knoten

IP: 192.168.0.109

Ausführungsliste:

Rollen:

Rezepte:

Plattform: Ubuntu 18.10

Stichworte:

Jetzt ist das Setup fertig!

Wir haben erfolgreich einen Chef-Server, eine Workstation und einen Knoten unter Ubuntu installiert. Sie können in Chef mit dem Erstellen von Rezepten und Kochbüchern für das Konfigurationsmanagement der Infrastruktur beginnen.

Wenn Sie ein absoluter Anfänger sind, dann mögen Sie dies vielleicht Udemy natürlich zu.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map