GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Chef Automation Server unter Ubuntu 20.04

Chef ist eine leistungsstarke Plattform für die Automatisierung, die die Verwaltung, Bereitstellung oder Konfiguration der Infrastruktur in einem Netzwerk vereinfacht. Chef arbeitet, indem es die Infrastruktur in Code umwandelt. Der Entwickler kann dann Ressourcen auf mehreren Servern oder Knoten bereitstellen oder verwalten, aber bevor der Entwickler den Code in einer anderen Umgebung bereitstellt, erstellt und testet er ihn zunächst auf einer Arbeitsstation. Insgesamt ist Chef eines der besten Tools für die Verwaltung der Infrastruktur von einer Workstation aus.

Für Compliance, Knotentransparenz und Workflow stellt Chef Automate eine vollständige Suite von Unternehmensfunktionen zur Verfügung. Die Software lässt sich in Open-Source-Produkte wie Habitat, InSpec und Chef integrieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Chef-Server und -Client unter Ubuntu 20.04 installieren.

Voraussetzungen

  • Zwei frische Ubuntu 20.04 VPS auf der Atlantic.Net Cloud Platform.

         Ein Kunde

         Ein Server

  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 4 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

Schritt 2 – Richten Sie den Hostnamen ein

Bevor Sie beginnen, müssen Sie einen vollständig qualifizierten Hostnamen und eine Hostnamenauflösung auf Ihrem Chef-Server einrichten.

Richten Sie zuerst den Hostnamen mit dem folgenden Befehl ein:

hostnamectl set-hostname chef.example.com

Öffnen Sie als Nächstes die Datei /etc/hosts und binden Sie Ihre Server-IP-Adresse an den Hostnamen:

nano /etc/hosts

Fügen Sie die folgende Zeile hinzu:

chef-server-ip chef.example.com

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 3 – Chef Server installieren

Installieren Sie zuerst die erforderlichen Abhängigkeiten, indem Sie den folgenden Befehl auf dem Chef-Server ausführen:

apt-get install curl wget gnupg2 -y

Laden Sie als Nächstes das Chef-Paket mit dem folgenden Befehl herunter:

wget https://packages.chef.io/files/stable/chef-server/13.1.13/ubuntu/18.04/chef-server-core_13.1.13-1_amd64.deb

Nachdem das Paket heruntergeladen wurde, installieren Sie es, indem Sie den folgenden Befehl ausführen:

dpkg -i chef-server-core_13.1.13-1_amd64.deb

Sobald das Paket installiert ist, müssen Sie den Chef-Server neu konfigurieren. Sie können es mit dem folgenden Befehl neu konfigurieren:

chef-server-ctl reconfigure

Sie werden aufgefordert, die Lizenzbedingungen wie unten gezeigt zu akzeptieren:

+---------------------------------------------+
Chef License Acceptance

Before you can continue, 3 product licenses
must be accepted. View the license at
https://www.chef.io/end-user-license-agreement/

Licenses that need accepting:
* Chef Infra Server
* Chef Infra Client
* Chef InSpec

Do you accept the 3 product licenses (yes/no)?

> yes

Geben Sie yes ein, um die Lizenz zu akzeptieren, und drücken Sie die Eingabetaste, um fortzufahren. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

Running handlers:
Running handlers complete
Chef Infra Client finished, 482/1032 resources updated in 04 minutes 34 seconds
Chef Server Reconfigured!

Hinweis :Die Installation dauert über 5 Minuten

Schritt 4 – Erstellen Sie ein Administratorkonto und eine Organisation

Erstellen Sie zuerst ein Verzeichnis, um alle Schlüssel zu speichern.

mkdir ~/.chef_key

Führen Sie als Nächstes den folgenden Befehl aus, um ein Administratorkonto zu erstellen:

chef-server-ctl user-create atlanticuser Atlantic User [email protected] 'mypassword' --filename ~/.chef_key/atlantic.pem

Der obige Befehl erstellt ein Administratorkonto mit dem Namen atlanticuser, dem vollständigen Namen „Atlantic User“, dem Passwort „mypassword“ und generiert die Schlüsseldatei unter ~/.chef_key/atlantic.pem.

Als nächstes erstellen Sie eine Organisation mit dem folgenden Befehl:

chef-server-ctl org-create atlantic "atlantic cloud" --association_user atlanticuser --filename ~/.chef_key/atlantic-org.pem

Der obige Befehl erstellt eine Organisation mit dem Namen atlantic, dem vollständigen Namen „atlantic cloud“, verknüpft den Benutzer „atlanticuser“ und generiert eine Schlüsseldatei unter ~/.chef_key/atlantic-org.pem.

Sie können nun die generierten Schlüssel mit dem folgenden Befehl überprüfen:

ls ~/.chef_key/

Sie sollten die folgende Ausgabe sehen:

atlantic.pem hitjethva.pem

Schritt 5 – Chef Web Management Console installieren

Als nächstes müssen Sie Chef Manage auf Ihrem Server installieren. Chef Manage ist ein Add-On, mit dem Chef-Server über die webbasierte Oberfläche verwaltet werden können.

Sie können Chef manage mit dem folgenden Befehl installieren:

chef-server-ctl install chef-manage

Als nächstes konfigurieren Sie den Chef-Server und Chef-Verwaltung mit dem folgenden Befehl neu:

chef-server-ctl reconfigure
chef-manage-ctl reconfigure

Sie werden wie folgt aufgefordert, die Lizenzvereinbarung zu akzeptieren:

Press any key to continue.
Type 'yes' to accept the software license agreement or anything else to cancel.
yes

Geben Sie ja ein und drücken Sie die Eingabetaste, um die Installation abzuschließen.

Schritt 6 – Installieren Sie den Chef-Client

Als Nächstes müssen Sie sich beim Chef-Client-Computer anmelden und das Chef-Client-Paket installieren.

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

wget https://packages.chef.io/files/stable/chef-workstation/20.6.62/debian/10/chef-workstation_20.6.62-1_amd64.deb

Nachdem das Paket heruntergeladen wurde, installieren Sie es mit dem folgenden Befehl:

dpkg -i chef-workstation_20.6.62-1_amd64.deb

Nach der Installation des Chef-Clients müssen Sie ein Chef-Repository in Ihrem System erstellen. Das chef-repo-Verzeichnis speichert Ihre Chef-Kochbücher und andere zugehörige Dateien.

Sie können es mit dem folgenden Befehl erstellen:

chef generate repo chef-repo

Sie werden aufgefordert, die Lizenz wie unten gezeigt zu akzeptieren:

+---------------------------------------------+
Chef License Acceptance

Before you can continue, 3 product licenses
must be accepted. View the license at
https://www.chef.io/end-user-license-agreement/

Licenses that need accepting:
* Chef Workstation
* Chef Infra Client
* Chef InSpec

Do you accept the 3 product licenses (yes/no)?

> yes

Geben Sie ja ein und drücken Sie die Eingabetaste, um die Lizenz zu akzeptieren. Sie sollten die folgende Ausgabe erhalten:

Persisting 3 product licenses...
✔ 3 product licenses persisted.

+---------------------------------------------+
Generating Chef Infra repo chef-repo
- Ensuring correct Chef Infra repo file content

Your new Chef Infra repo is ready! Type `cd chef-repo` to enter it.

Mit dem folgenden Befehl können Sie alle generierten Dateien und Verzeichnisse im Chef-Repo auflisten:

ls chef-repo

Sie sollten die folgende Ausgabe erhalten:

chefignore cookbooks data_bags LICENSE policyfiles README.md

Als nächstes müssen Sie ein .chef-Verzeichnis erstellen, um alle Knife-Konfigurationsdateien und die .pem-Dateien zu speichern, die für die RSA-Schlüsselpaarauthentifizierung mit dem Chef-Server verwendet werden.

Sie können es mit dem folgenden Befehl erstellen:

mkdir ~/chef-repo/.chef

Generieren Sie als Nächstes mit dem folgenden Befehl ein SSH-Schlüsselpaar:

ssh-keygen -b 4096

Geben Sie kein Passwort ein, drücken Sie einfach die Eingabetaste, um ein SSH-Schlüsselpaar wie unten gezeigt zu generieren:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:OvOCW9vNnVfs8II8TKJnRxv9vwRu5R4JqRxWPVU1rTY [email protected]
The key's randomart image is:
+---[RSA 4096]----+
| .B|
| . +|
| . + |
| . E .|
| S o * + |
| . + B B +|
| .= . O * @ |
| ...*.oo.O.= =|
| ....ooo.oo ++|
+----[SHA256]-----+

Kopieren Sie als Nächstes den generierten Schlüssel mit dem folgenden Befehl auf den Chef-Servercomputer:

ssh-copy-id [email protected]

Als Nächstes müssen Sie alle .pem-Dateien vom Chef-Server auf den Client-Computer kopieren. Sie können sie mit dem folgenden Befehl kopieren:

scp [email protected]:~/.chef_key/*.pem ~/chef-repo/.chef/

Sie sollten die folgende Ausgabe erhalten:

atlantic.pem 100% 1674 2.2MB/s 
00:00
hitjethva.pem 100% 1678 2.4MB/s 
00:00

Schritt 7 – Messer konfigurieren und Kochbuch erstellen

Als nächstes müssen Sie Knife konfigurieren und ein Kochbuch auf dem Client-Rechner generieren.

Wechseln Sie zunächst in das Repository mit dem Befehl:

cd ~/chef-repo

Als nächstes generieren Sie Ihr erstes Kochbuch mit dem folgenden Befehl:

chef generate cookbook my_cookbook

Sobald das Kochbuch erstellt ist, erstellen Sie eine neue Knife-Konfigurationsdatei:

nano ~/chef-repo/.chef/config.rb

Fügen Sie die folgenden Zeilen hinzu:

current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'hitjethva'
client_key "hitjethva.pem"
validation_client_name 'atlantic-validator'
validation_key "atlantic-validator.pem"
chef_server_url 'https://chef.example.com/organizations/atlantic'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]

Speichern und schließen Sie die Datei.

Stellen Sie sicher, dass alle Namen mit dem Namen Ihrer Organisation und dem Admin-Benutzernamen übereinstimmen.

Bearbeiten Sie als Nächstes die Datei /etc/hosts und fügen Sie den vollständig qualifizierten Namen Ihres Chef-Servers hinzu.

nano /etc/hosts

Fügen Sie die folgende Zeile hinzu:

chef-server-ip chef.example.com

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Rufen Sie als Nächstes das SSL-Zertifikat mit dem folgenden Befehl vom Chef-Server ab:

cd ~/chef-repo
knife ssl fetch

Sie sollten die folgende Ausgabe erhalten:

WARNING: Certificates from chef.example.com will be fetched and placed in your trusted_cert
directory (/root/chef-repo/.chef/trusted_certs).
Knife has no means to verify these are the correct certificates. You should
verify the authenticity of these certificates after downloading.
Adding certificate for chef_example_com in /root/chef-repo/.chef/trusted_certs/chef_example_com.crt

Sie können das SSL auch mit dem folgenden Befehl überprüfen:

knife ssl check

Sie sollten die folgende Ausgabe erhalten:

Connecting to host chef.example.com:443
Successfully verified certificates from `chef.example.com'

Schritt 8 – Bootstrapping eines Client-Knotens

Als Nächstes müssen Sie den Chef-Client auf dem Knoten installieren und den Knoten validieren. Dadurch kann der Knoten vom Chef-Server lesen und alle erforderlichen Konfigurationsaktualisierungen, die vom Chef-Client erkannt werden, von der Arbeitsstation herunterziehen und anwenden.

Ändern Sie auf dem Chef-Client-Computer das Verzeichnis mit dem folgenden Befehl in .chef:

cd ~/chef-repo/.chef

Als nächstes booten Sie den Client mit dem folgenden Befehl:

knife bootstrap chef.example.com -x root -P rootpassword --node-name clientnode

Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

Patents: https://www.chef.io/patents
[chef.example.com] resolving cookbooks for run list: []
[chef.example.com] Synchronizing Cookbooks:
[chef.example.com] Installing Cookbook Gems:
[chef.example.com]
[chef.example.com] Compiling Cookbooks...
[chef.example.com] [2020-10-02T07:56:21+00:00] WARN: Node clientnode has an empty run list.
[chef.example.com] Converging 0 resources
[chef.example.com]
[chef.example.com] Running handlers:
Running handlers complete
Chef Infra Client finished, 0/0 resources updated in 02 seconds

Sie können jetzt alle Knoten mit dem folgenden Befehl auflisten:

knife client list

Sie sollten die folgende Ausgabe erhalten:

atlantic-validator
clientnode

Schritt 9 – Greifen Sie auf die Chef Manage Console zu

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://chef.server-ip/login auf die Chef-Verwaltungskonsole zu. Sie sollten die Chef-Anmeldeseite sehen:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf das Zeichen in Taste. Sie sollten das Chef-Dashboard auf der folgenden Seite sehen:

Schlussfolgerung

In der obigen Anleitung haben Sie gelernt, wie Sie Chef-Server und -Client auf einem Ubuntu 20.04-Server installieren. Sie haben auch seine Komponenten mit Installations- und Konfigurationseinstellungen kennengelernt. Weitere Informationen finden Sie in der Chef-Dokumentation. Testen Sie Chef auf Ihrem virtuellen privaten Server von Atlantic.Net!


Linux
  1. So installieren Sie MySQL unter Ubuntu 18.04

  2. So installieren Sie Minecraft Server auf Ubuntu 18.04

  3. So installieren Sie auf einem Ubuntu-Server

  4. So installieren Sie MariaDB unter Ubuntu 22.04

  5. Wie installiere ich Ubuntu Server 15.10 auf Hyper-v?

So installieren Sie Mumble Server unter Ubuntu 15.04

So installieren Sie NGINX unter Ubuntu 20.04

So installieren Sie Ansible Server unter Ubuntu 18.04

So installieren Sie XWiki unter Ubuntu 20.04

So installieren Sie ClickHouse unter Ubuntu 20.04

Wie installiere ich FTP auf Ubuntu 18.04?