Sdílet prostřednictvím


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ř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ů

  1. 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.

  2. 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 účet root, 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
    
  3. 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/collectionss 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.