GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Chef Automation Server na Ubuntu 20.04

Chef je výkonná platforma pro automatizaci, která zjednodušuje správu, nasazení nebo konfiguraci infrastruktury v rámci sítě. Chef funguje tak, že transformuje infrastrukturu do kódu. Vývojář pak může nasadit nebo spravovat prostředky na více serverech nebo uzlech, ale než vývojář nasadí kód do jakéhokoli jiného prostředí, nejprve jej vytvoří a otestuje na pracovní stanici. Celkově je Chef jedním z nejlepších nástrojů pro správu infrastruktury z pracovní stanice.

Pro zajištění souladu, viditelnost uzlů a workflow Chef Automate zpřístupňuje celou sadu podnikových funkcí. Software se integruje s produkty s otevřeným zdrojovým kódem, jako jsou Habitat, InSpec a Chef.

V tomto tutoriálu vám ukážeme, jak nainstalovat server a klienta Chef na Ubuntu 20.04.

Předpoklady

  • Dva čerstvé Ubuntu 20.04 VPS na cloudové platformě Atlantic.Net.

         Jeden klient

         Jeden server

  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvoření cloudového serveru Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 4 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Nastavení názvu hostitele

Než začnete, budete muset na serveru Chef nastavit plně kvalifikovaný název hostitele a rozlišení názvu hostitele.

Nejprve nastavte název hostitele pomocí následujícího příkazu:

hostnamectl set-hostname chef.example.com

Dále otevřete soubor /etc/hosts a spojte IP adresu svého serveru s názvem hostitele:

nano /etc/hosts

Přidejte následující řádek:

chef-server-ip chef.example.com

Po dokončení uložte a zavřete soubor.

Krok 3 – Instalace serveru Chef Server

Nejprve nainstalujte požadované závislosti spuštěním následujícího příkazu na serveru Chef:

apt-get install curl wget gnupg2 -y

Dále si stáhněte balíček Chef pomocí následujícího příkazu:

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

Jakmile je balíček stažen, nainstalujte jej spuštěním následujícího příkazu:

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

Jakmile je balíček nainstalován, budete muset překonfigurovat server Chef. Můžete jej překonfigurovat pomocí následujícího příkazu:

chef-server-ctl reconfigure

Budete požádáni, abyste přijali licenční podmínky, jak je uvedeno níže:

+---------------------------------------------+
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

Chcete-li licenci přijmout, zadejte ano a pokračujte stisknutím klávesy Enter. Po dokončení instalace byste měli získat následující výstup:

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

Poznámka :Instalace bude trvat déle než 5 minut

Krok 4 – Vytvořte účet správce a organizaci

Nejprve vytvořte adresář pro uložení všech klíčů.

mkdir ~/.chef_key

Dále spusťte následující příkaz k vytvoření účtu správce:

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

Výše uvedený příkaz vytvoří účet správce s názvem atlanticuser, celým jménem „Atlantic User“, heslem „mypassword“ a vygeneruje soubor klíče na adrese ~/.chef_key/atlantic.pem.

Dále vytvořte organizaci pomocí následujícího příkazu:

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

Výše uvedený příkaz vytvoří organizaci s názvem atlantic, celým názvem „atlantic cloud“, přidruží uživatele „atlanticuser“ a vygeneruje soubor klíče na adrese ~/.chef_key/atlantic-org.pem.

Nyní můžete ověřit vygenerované klíče pomocí následujícího příkazu:

ls ~/.chef_key/

Měli byste vidět následující výstup:

atlantic.pem hitjethva.pem

Krok 5 – Instalace webové konzoly pro správu Chef

Dále budete muset nainstalovat Chef management na váš server. Chef manage je doplněk, který lze použít ke správě serveru Chef z webového rozhraní.

Chef manage můžete nainstalovat pomocí následujícího příkazu:

chef-server-ctl install chef-manage

Dále překonfigurujte server Chef a Chef manage pomocí následujícího příkazu:

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

Budete požádáni o přijetí licenční smlouvy, jak je uvedeno níže:

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

Zadejte ano a stiskněte Enter pro dokončení instalace.

Krok 6 – Instalace klienta Chef Client

Dále se budete muset přihlásit do klientského počítače Chef a nainstalovat balíček klienta Chef.

Spusťte následující příkaz ke stažení balíčku pracovní stanice Chef:

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

Jakmile je balíček stažen, nainstalujte jej pomocí následujícího příkazu:

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

Po instalaci klienta Chef budete muset ve vašem systému vytvořit repo Chef. V adresáři chef-repo budou uloženy vaše kuchařské knihy Chef a další související soubory.

Můžete jej vytvořit pomocí následujícího příkazu:

chef generate repo chef-repo

Budete požádáni o přijetí licence, jak je uvedeno níže:

+---------------------------------------------+
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

Zadejte ano a stiskněte Enter pro přijetí licence. Měli byste získat následující výstup:

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.

Všechny vygenerované soubory a adresáře v repozitáři Chef můžete vypsat pomocí následujícího příkazu:

ls chef-repo

Měli byste získat následující výstup:

chefignore cookbooks data_bags LICENSE policyfiles README.md

Dále budete muset vytvořit adresář .chef pro uložení všech konfiguračních souborů Knife a souborů .pem, které se používají pro ověřování párů klíčů RSA se serverem Chef.

Můžete jej vytvořit pomocí následujícího příkazu:

mkdir ~/chef-repo/.chef

Dále vygenerujte pár klíčů SSH pomocí následujícího příkazu:

ssh-keygen -b 4096

Nezadávejte žádné heslo, pouze stiskněte klávesu Enter a vygenerujte pár klíčů SSH, jak je uvedeno níže:

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]-----+

Dále zkopírujte vygenerovaný klíč na server Chef pomocí následujícího příkazu:

ssh-copy-id [email protected]

Dále budete muset zkopírovat všechny soubory .pem ze serveru Chef na klientský počítač. Můžete je zkopírovat pomocí následujícího příkazu:

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

Měli byste získat následující výstup:

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

Krok 7 – Konfigurace nože a vytvoření kuchařky

Dále budete muset nakonfigurovat Knife a vygenerovat kuchařku na klientském počítači.

Nejprve se změňte do úložiště příkazem:

cd ~/chef-repo

Dále vygenerujte svou první kuchařku pomocí následujícího příkazu:

chef generate cookbook my_cookbook

Po vygenerování kuchařky vytvořte nový konfigurační soubor nože:

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

Přidejte následující řádky:

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"]

Uložte a zavřete soubor.

Ujistěte se, že se všechna jména shodují s názvem vaší organizace a uživatelským jménem správce.

Dále upravte soubor /etc/hosts a přidejte plně kvalifikovaný název serveru Chef.

nano /etc/hosts

Přidejte následující řádek:

chef-server-ip chef.example.com

Po dokončení uložte a zavřete soubor.

Dále načtěte certifikát SSL ze serveru Chef pomocí následujícího příkazu:

cd ~/chef-repo
knife ssl fetch

Měli byste získat následující výstup:

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

SSL můžete také ověřit pomocí následujícího příkazu:

knife ssl check

Měli byste získat následující výstup:

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

Krok 8 – Bootstrap klientského uzlu

Dále budete muset nainstalovat klienta Chef na uzel a ověřit uzel. To umožňuje uzlu číst ze serveru Chef a stahovat a používat všechny potřebné aktualizace konfigurace zjištěné klientem kuchaře z pracovní stanice.

Na klientském počítači Chef změňte adresář na .chef pomocí následujícího příkazu:

cd ~/chef-repo/.chef

Dále zaveďte klienta pomocí následujícího příkazu:

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

Po dokončení instalace byste měli získat následující výstup:

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

Nyní můžete vypsat všechny uzly pomocí následujícího příkazu:

knife client list

Měli byste získat následující výstup:

atlantic-validator
clientnode

Krok 9 – Přístup ke konzole pro správu šéfkuchaře

Nyní otevřete webový prohlížeč a pomocí adresy URL http://chef.server-ip/login přejděte do konzole pro správu šéfkuchaře. Měli byste vidět přihlašovací stránku šéfkuchaře:

Zadejte své uživatelské jméno a heslo správce a klikněte na Podepsat v knoflík. Na následující stránce byste měli vidět řídicí panel Chef:

Závěr

Ve výše uvedené příručce jste se naučili, jak nainstalovat server Chef a klienta na server Ubuntu 20.04. Naučili jste se také jeho součásti s nastavením instalace a konfigurace. Další informace najdete v dokumentaci Chef. Vyzkoušejte Chefa na svém virtuálním privátním serveru od Atlantic.Net!


Linux
  1. Jak nainstalovat vyhledejte na serveru Ubuntu

  2. Jak nainstalovat MariaDB na Ubuntu 22.04

  3. Jak nainstalovat Ubuntu Server 15.10 na Hyper-v?

  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  3. Jak nainstalovat Nginx na Ubuntu 20.04

  1. Jak nainstalovat MariaDB na Ubuntu 20.04

  2. Jak nainstalovat VNC Server na Ubuntu 14.04

  3. Jak nainstalovat OpenLDAP na Ubuntu Server 22.04