Rychlý start: Nasazení SQL Serveru v Linuxu pomocí playbooku Ansible
platí pro:SQL Server – Linux
Tento rychlý start vás provede postupem automatizace NASAZENÍ SQL Serveru v Linuxu na virtuálních počítačích Azure pomocí playbooku Ansible.
Ansible je opensourcový produkt, který automatizuje zřizování cloudu, správu konfigurace a nasazení aplikací.
Ansible playbooky umožňují směrovat Ansible ke konfiguraci vašeho prostředí. Playbooky jsou kódovány pomocí jazyka YAML, aby byly pro člověka čitelné.
Požadavky
Předplatné Azure. Pokud nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
Vytvořte novou skupinu prostředků pomocí Azure CLI, která obsahuje tři virtuální počítače Azure:
Vytvoření virtuálního počítače Azurese systémem Red Hat Enterprise Linux (RHEL) 8.5 nebo vyšší. Tento virtuální počítač se stane uzlem kontroleru .
Vytvořte virtuální počítač Azure, na kterém běží RHEL, který bude sloužit jako první spravovaný uzel.
vytvoření virtuálního počítače Azure, na kterém běží Ubuntu Server, který slouží jako druhý spravovaný uzel.
Přehled
Prvním virtuálním počítačem, kde konfigurujete Ansible Core, je uzel kontroleru. Na tomto uzlu nainstalujete roli systému SQL Server .
Zbývající virtuální počítače jsou cílové počítače, označované také jako spravované uzly, pro nasazení a konfiguraci SQL Serveru pomocí systémové role.
Instalace Ansible Core
Počínaje RHEL 8.x na virtuálních počítačích Azure je možné balíček ansible-core
nainstalovat z předem nakonfigurovaného úložiště AppStream. Ansible Core můžete nainstalovat na uzel kontroleru pomocí následujícího příkazu:
sudo yum install ansible-core
Pomocí následujícího příkazu můžete zkontrolovat, jestli instalace proběhla úspěšně:
ansible --version
Zobrazí se výstup podobný následujícímu příkladu:
ansible [core 2.12.2]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/<user>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.8/site-packages/ansible
ansible collection location = /home/<user>/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.8.12 (default, Sep 16 2021, 10:46:05) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
jinja version = 2.10.3
libyaml = true
Úprava souboru hosts
na uzlu kontroleru
Ansible vytvoří soubor hosts
v adresáři /etc/ansible
. Upravte tento soubor pomocí oblíbeného editoru a přidejte podrobnosti o spravovaném uzlu, a to buď jako položku skupiny, nebo jako neseskupené položky. Informace o tom, jak vytvořit vlastní inventář, najdete v tématu Postup sestavení inventáře.
V tomto příkladu pomocí souboru hosts
je IP adresa prvního spravovaného uzlu 10.0.0.12 a IP adresa druhého spravovaného uzlu je 10.0.0.14.
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups
10.0.0.12
10.0.0.14
Konfigurace přístupu SSH bez hesla mezi uzly
Budete muset nakonfigurovat připojení SSH (Secure Shell) mezi uzlem kontroleru a všemi spravovanými uzly, na kterých se má SQL Server nainstalovat.
Konfigurace SSH na uzlu kontroleru
Pokud už je nakonfigurovaný protokol SSH, můžete tento krok přeskočit.
K vygenerování klíčů SSH použijte příkaz ssh-keygen
. Po spuštění příkazu se zobrazí výzva k přijetí výchozích hodnot. Po dokončení budete mít pár klíčů: privátní a veřejný.
Zkopírování veřejného klíče do spravovaných uzlů
Na každém spravovaném uzlu musíte pomocí příkazu
ssh-copy-id
zkopírovat veřejný klíč z uzlu kontroleru, který jste právě vytvořili. Pokud chcete zadat cílový adresář na spravovaném uzlu, můžete použít parametr-i
.V následujícím příkazu může být účet
user
stejným účtem, který jste nakonfigurovali pro každý spravovaný uzel při vytváření virtuálního počítače. Můžete také použít účetroot
, ale nedoporučuje se to v produkčním prostředí.sudo ssh-copy-id user@10.0.0.12 sudo ssh-copy-id user@10.0.0.14
Pokud chcete ověřit, že se veřejný klíč SSH zkopíroval do každého uzlu, použijte příkaz
ssh
z uzlu kontroleru. Pokud jste klíče zkopírovali správně, nezobrazí se výzva k zadání hesla a připojení je úspěšné.ssh user@10.0.0.12 ssh user@10.0.0.14
Instalovat systémovou roli SQL Serveru
Role systému Ansible se nazývá ansible-collection-microsoft-sql
. Na uzlu kontroleru spusťte následující příkaz, který nainstaluje systémovou roli SQL Serveru:
sudo yum install ansible-collection-microsoft-sql
Tento příkaz nainstaluje roli SQL Serveru do /usr/share/ansible/collections
s následujícími soubory:
-rw-r--r--. 1 user user 7592 Jul 2 20:22 FILES.json
-rw-r--r--. 1 user user 1053 Jul 2 20:22 LICENSE-server
-rw-r--r--. 1 user user 854 Jul 2 20:22 MANIFEST.json
-rw-r--r--. 1 user user 1278 Jul 2 20:22 README.md
drwxr-xr-x. 1 user user 20 Jul 2 20:22 roles
drwxr-xr-x. 1 user user 20 Jul 2 20:22 tests
Vytvoření a konfigurace playbooku Ansible
Po instalaci systémové role vytvoříte soubor YAML playbooku SQL Serveru. Informace o různých proměnných rolí najdete v dokumentaci nebo README.md, která je součástí systémové role SQL Serveru.
Následující příklad ukazuje soubor playbooku s proměnnými rolí definovanými pro konfiguraci SQL Serveru a povolením dalších funkcí:
- hosts: all
vars:
mssql_accept_microsoft_odbc_driver_17_for_sql_server_eula: true
mssql_accept_microsoft_cli_utilities_for_sql_server_eula: true
mssql_accept_microsoft_sql_server_standard_eula: true
mssql_password: "YourP@ssw0rd"
mssql_edition: Evaluation
mssql_enable_sql_agent: true
mssql_install_fts: true
mssql_install_powershell: true
mssql_tune_for_fua_storage: true
roles:
- microsoft.sql.server
Nasazení SQL Serveru na spravované uzly
Pokud chcete nasadit SQL Server na spravované uzly pomocí playbooku Ansible, spusťte z uzlu kontroleru následující příkaz.
sudo ansible-playbook -u user playbook.yaml
Tento proces zahájí nasazení a na konci by se měl zobrazit souhrn hry, který vypadá nějak takto:
PLAY RECAP *******
10.0.0.12 : ok=31 changed=42 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0
10.0.0.14 : ok=31 changed=42 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0
Vyčištění prostředků
Pokud nebudete dál používat virtuální počítače Azure, nezapomeňte je odebrat. Pokud jste tři virtuální počítače vytvořili v nové skupině prostředků, můžete všechny prostředky v této skupině prostředků odebrat pomocí Azure CLI.