Megosztás a következőn keresztül:


Rövid útmutató: SQL Server üzembe helyezése Linuxon Ansible-forgatókönyv használatával

A következőkre vonatkozik:SQL Server Linux rendszeren

Ez a gyors indítási útmutató végigvezeti azon lépéseken, hogy automatizálja az SQL Server Linux rendszeren történő üzembe helyezését Azure-beli virtuális gépeken, egy Ansible forgatókönyv segítségével.

Az Ansible egy nyílt forráskódú termék, amely automatizálja a felhőkiépítést, a konfigurációkezelést és az alkalmazástelepítéseket.

Az Ansible forgatókönyvek lehetővé teszik, hogy az Ansible-t az Ön környezetének konfigurálására irányítsa. A forgatókönyvek YAML használatával vannak kódolva, hogy emberi olvasásra alkalmasak legyenek.

Előfeltételek

Áttekintés

Az első virtuális gép, amelyen az Ansible Core-t konfigurálja, a vezérlőcsomópont. Ezen a csomóponton telepíti az SQL Server rendszerszerepkört.

A fennmaradó virtuális gépek a célgépek, más néven felügyelt csomópontok, amelyek az SQL Server rendszerszerepkörrel történő üzembe helyezésére és konfigurálására szolgálnak.

Az Ansible Core telepítése

Az RHEL 8.x-től kezdve az Azure-beli virtuális gépeken a ansible-core csomag telepíthető az előre konfigurált AppStream-adattárból. Az Ansible Core a vezérlőcsomópontra az alábbi paranccsal telepíthető:

sudo yum install ansible-core

Az alábbi paranccsal ellenőrizheti, hogy a telepítés sikeres volt-e:

ansible --version

A következő példához hasonló kimenet jelenik meg:

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

hosts fájl szerkesztése a vezérlőcsomóponton

Az Ansible létrehoz egy hosts fájlt a /etc/ansible könyvtárban. Szerkessze ezt a fájlt a kedvenc szerkesztőjével, és adja hozzá a felügyelt csomópont adatait csoportbejegyzésként vagy nem csoportosított bejegyzésként. A saját leltár létrehozásáról további információt a A leltárkészítése című témakörben talál.

A hosts fájlt használó példában az első felügyelt csomópont IP-címe a 10.0.0.12, a második felügyelt csomópont IP-címe pedig 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

Jelszó nélküli SSH-hozzáférés konfigurálása csomópontok között

Konfigurálnia kell egy Secure Shell-kapcsolatot (SSH) a vezérlőcsomópont és az összes felügyelt csomópont között, ahol telepíteni kell az SQL Servert.

SSH konfigurálása a vezérlőcsomóponton

Ha az SSH már konfigurálva van, kihagyhatja ezt a lépést.

SSH-kulcsok létrehozásához használja a ssh-keygen parancsot. A parancs futtatásakor a rendszer kérni fogja, hogy fogadja el az alapértelmezett értékeket. Ha elkészült, privát és nyilvános kulcspárja van.

A nyilvános kulcs másolása a felügyelt csomópontokra

  1. Minden felügyelt csomóponton át kell másolnia a nyilvános kulcsot az imént létrehozott vezérlőcsomópontról a ssh-copy-id paranccsal. Ha meg szeretné adni a célkönyvtárat a felügyelt csomóponton, használhatja a -i paramétert.

  2. Az alábbi parancsban a user fiók lehet ugyanaz a fiók, amely az egyes felügyelt csomópontokhoz konfigurálva van a virtuális gép létrehozásakor. Termelési környezetben a root fiók használata nem ajánlott, bár lehetséges.

    sudo ssh-copy-id user@10.0.0.12
    sudo ssh-copy-id user@10.0.0.14
    
  3. Annak ellenőrzéséhez, hogy az SSH nyilvános kulcsát minden csomópontra másolta-e, használja a vezérlőcsomópont ssh parancsát. Ha helyesen másolta a kulcsokat, a rendszer nem kéri a jelszót, és a kapcsolat sikeres.

    ssh user@10.0.0.12
    ssh user@10.0.0.14
    

Az SQL Server rendszerszerepkörének telepítése

Az Ansible rendszer-szerepkör neve ansible-collection-microsoft-sql. A vezérlőcsomóponton futtassa a következő parancsot az SQL Server rendszerszerepkör telepítéséhez:

sudo yum install ansible-collection-microsoft-sql

Ez a parancs telepíti az SQL Server-szerepkört /usr/share/ansible/collectionsa következő fájlokkal:

-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

Az Ansible forgatókönyv létrehozása és konfigurálása

A rendszerszerepkör telepítése után létre kell hoznia az SQL Server forgatókönyvének YAML-fájlját. A különböző szerepkörváltozók megismeréséhez tekintse meg a dokumentációt vagy az SQL Server rendszerszerepköréhez tartozó README.md.

Az alábbi példa egy forgatókönyvfájlt mutat be, amely az SQL Server konfigurálásához és az extra funkciók engedélyezéséhez definiált szerepkörváltozókkal rendelkezik. Cserélje le a <password> érvényes jelszóra.

- 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: "<password>"
    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​

SQL Server üzembe helyezése a felügyelt csomópontokon

Ha az Sql Servert felügyelt csomópontokon szeretné üzembe helyezni az Ansible forgatókönyv használatával, futtassa a következő parancsot a vezérlőcsomópontról.

sudo ansible-playbook -u user playbook.yaml

Ez a folyamat megkezdi az üzembe helyezést, és a végén látnia kell a játék összegzését, amely az alábbi kimenethez hasonlóan néz ki:

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

Erőforrások törlése

Ha nem folytatja az Azure-beli virtuális gépek használatát, ne felejtse el eltávolítani őket. Ha a három virtuális gépet egy új erőforráscsoportban hozta létre, eltávolíthatja az erőforráscsoporton belüli összes erőforrást az Azure CLIhasználatával.