Dela via


Snabbstart: Distribuera SQL Server i Linux med hjälp av en Ansible-spelbok

gäller för:SQL Server – Linux

Den här snabbstarten tar dig igenom stegen för att automatisera en SQL Server på Linux-distribution på virtuella Azure-datorer med hjälp av en Ansible-spelbok.

Ansible är en produkt med öppen källkod som automatiserar molnetablering, konfigurationshantering och programdistributioner.

Ansible playbooks låter dig instruera Ansible att konfigurera din miljö. Spelböcker kodas med YAML för att vara läsbara för människor.

Förutsättningar

Överblick

Den första virtuella datorn, där du konfigurerar Ansible Core, är kontrollantnoden. På den här noden installerar du SQL Server -systemrollen.

De återstående virtuella datorerna är måldatorerna, även kallade hanterade noder, för att implementera och konfigurera SQL Server med systemrollen.

Installera Ansible Core

Från och med RHEL 8.x på virtuella Azure-datorer kan ansible-core-paketet installeras från den förkonfigurerade AppStream-lagringsplatsen. Du kan installera Ansible Core på kontrollantnoden med följande kommando:

sudo yum install ansible-core

Du kan kontrollera att installationen lyckades med följande kommando:

ansible --version

Du ser utdata som liknar följande exempel:

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

Redigera hosts fil på kontrollantnoden

Ansible kommer att skapa en hosts-fil i katalogen /etc/ansible. Redigera den här filen med din favoritredigerare för att lägga till information om den hanterade noden, antingen som en grupppost eller som ogrupperade poster. Information om hur du skapar en egen inventering finns i Så här skapar du din inventering.

I det här exemplet med hjälp av filen hosts är IP-adressen för den första hanterade noden 10.0.0.12 och IP-adressen för den andra hanterade noden är 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

Konfigurera lösenordsfri SSH-åtkomst mellan noder

Du måste konfigurera en SSH-anslutning (Secure Shell) mellan styrenhetsnoden och alla hanterade noder där SQL Server ska installeras.

Konfigurera SSH på kontrollantnoden

Om SSH redan har konfigurerats kan du hoppa över det här steget.

Använd kommandot ssh-keygen för att generera SSH-nycklar. När du kör kommandot uppmanas du att acceptera standardvärdena. När du är klar har du ett privat och offentligt nyckelpar.

Kopiera den offentliga nyckeln till de hanterade noderna

  1. På varje hanterad nod måste du kopiera den offentliga nyckeln från den styrenhetsnod som du nyss skapade med hjälp av kommandot ssh-copy-id. Om du vill ange målkatalogen på den hanterade noden kan du använda parametern -i.

  2. I följande kommando kan user-kontot vara samma konto som du konfigurerade för varje hanterad nod när du skapade den virtuella datorn. Du kan också använda root-kontot, men det rekommenderas inte i en produktionsmiljö.

    sudo ssh-copy-id user@10.0.0.12
    sudo ssh-copy-id user@10.0.0.14
    
  3. Om du vill bekräfta att den offentliga SSH-nyckeln kopierades till varje nod använder du kommandot ssh från kontrollantnoden. Om du kopierade nycklarna korrekt uppmanas du inte att ange något lösenord och anslutningen lyckas.

    ssh user@10.0.0.12
    ssh user@10.0.0.14
    

Installera SQL Server-systemrollen

Ansible-systemrollen kallas ansible-collection-microsoft-sql. På kontrollantnoden kör du följande kommando för att installera SQL Server-systemrollen:

sudo yum install ansible-collection-microsoft-sql

Det här kommandot installerar SQL Server-rollen till /usr/share/ansible/collections, med filerna som visas nedan:

-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

Skapa och konfigurera Ansible-spelboken

När du har installerat systemrollen skapar du YAML-filen för SQL Server-spelboken. Information om de olika rollvariablerna finns i dokumentationen eller de README.md som ingår i SQL Server-systemrollen.

I följande exempel visas en spelboksfil med rollvariabler definierade för att konfigurera SQL Server och aktivera ytterligare funktioner:

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

Distribuera SQL Server på de hanterade noderna

Om du vill distribuera SQL Server på hanterade noder med ansible-spelboken kör du följande kommando från kontrollantnoden.

sudo ansible-playbook -u user playbook.yaml

Den här processen påbörjar distributionen och i slutet bör du se en sammanfattning av spelet som ser ut ungefär så här:

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

Rensa resurser

Kom ihåg att ta bort dem om du inte ska fortsätta använda dina virtuella Azure-datorer. Om du har skapat de tre virtuella datorerna i en ny resursgrupp kan du ta bort alla resurser i resursgruppen med hjälp av Azure CLI-.