Quickstart: SQL Server implementeren in Linux met behulp van een Ansible-playbook
van toepassing op:SQL Server- - Linux
In deze quickstart doorloopt u de stappen voor het automatiseren van een SQL Server op Linux-implementatie op virtuele Azure-machines met behulp van een Ansible--playbook.
Ansible- is een opensource-product waarmee cloudinrichting, configuratiebeheer en toepassingsimplementaties worden geautomatiseerd.
Ansible playbooks stellen u in staat Ansible te instrueren om uw omgeving te configureren. Playbooks worden gecodeerd met YAML, zodat ze leesbaar zijn voor mensen.
Voorwaarden
Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.
Maak een nieuwe resourcegroep met behulp van Azure CLI, die drie virtuele Azure-machines (VM's) bevat:
een Azure VM-maken, waarop Red Hat Enterprise Linux (RHEL) 8.5 of hoger wordt uitgevoerd. Deze VM wordt het controllerknooppunt.
Een Azure-VM maken, waarop RHEL wordt uitgevoerd, om te fungeren als het eerste beheerde knooppunt.
een Azure VM-maken, waarop Ubuntu Server wordt uitgevoerd, om te fungeren als het tweede beheerde knooppunt.
Overzicht
De eerste VM, waar u Ansible Core configureert, is het controllerknooppunt. Op dit knooppunt installeert u de SQL Server-systeemrol.
De resterende VM's zijn de doelmachines, ook wel bekend als beheerde knooppunten, voor het implementeren en configureren van SQL Server met behulp van de systeemrol.
Ansible Core installeren
Vanaf RHEL 8.x op Virtuele Azure-machines kan het ansible-core
-pakket worden geïnstalleerd vanuit de vooraf geconfigureerde AppStream-opslagplaats. U kunt Ansible Core installeren op het controllerknooppunt met behulp van de volgende opdracht:
sudo yum install ansible-core
U kunt controleren of de installatie is geslaagd met de volgende opdracht:
ansible --version
U ziet uitvoer die vergelijkbaar is met het volgende voorbeeld:
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
-bestand op controllerknooppunt bewerken
Ansible maakt een hosts
bestand in de map /etc/ansible
. Bewerk dit bestand met behulp van uw favoriete editor om de details van het beheerde knooppunt toe te voegen, hetzij als groepsvermelding of als niet-gegroepeerde vermeldingen. Zie How to build your inventoryvoor meer informatie over het maken van uw eigen inventaris.
In dit voorbeeld, met gebruik van het hosts
-bestand, is het IP-adres voor het eerste beheerde knooppunt 10.0.0.12 en het IP-adres voor het tweede beheerde knooppunt 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
SSH-toegang zonder wachtwoord tussen knooppunten configureren
U moet een SSH-verbinding (Secure Shell) configureren tussen het controllerknooppunt en alle beheerde knooppunten waarop SQL Server moet worden geïnstalleerd.
SSH configureren op het controllerknooppunt
Als SSH al is geconfigureerd, kunt u deze stap overslaan.
Gebruik de opdracht ssh-keygen
om SSH-sleutels te genereren. Wanneer u de opdracht uitvoert, wordt u gevraagd de standaardwaarden te accepteren. Als u klaar bent, hebt u een persoonlijk en openbaar sleutelpaar.
De openbare sleutel kopiëren naar de beheerde knooppunten
Op elk beheerd knooppunt moet u de openbare sleutel kopiëren van het controllerknooppunt dat u zojuist hebt gemaakt, met behulp van de opdracht
ssh-copy-id
. Als u de doelmap op het beheerde knooppunt wilt opgeven, kunt u de parameter-i
gebruiken.In de volgende opdracht kan het
user
-account hetzelfde account zijn dat u voor elk beheerd knooppunt hebt geconfigureerd bij het maken van de virtuele machine. U kunt ook hetroot
-account gebruiken, maar dit wordt niet aanbevolen in een productieomgeving.sudo ssh-copy-id user@10.0.0.12 sudo ssh-copy-id user@10.0.0.14
Gebruik de opdracht
ssh
van het controllerknooppunt om te bevestigen dat de openbare SSH-sleutel naar elk knooppunt is gekopieerd. Als u de sleutels correct hebt gekopieerd, wordt u niet om een wachtwoord gevraagd en is de verbinding geslaagd.ssh user@10.0.0.12 ssh user@10.0.0.14
De SQL Server-systeemrol installeren
De Ansible-systeemrol wordt ansible-collection-microsoft-sql
genoemd. Voer op het controllerknooppunt de volgende opdracht uit om de SQL Server-systeemrol te installeren:
sudo yum install ansible-collection-microsoft-sql
Met deze opdracht wordt de SQL Server-rol naar /usr/share/ansible/collections
geïnstalleerd, met de onderstaande bestanden:
-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
Het Ansible-playbook maken en configureren
Nadat u de systeemrol hebt geïnstalleerd, maakt u het YAML-bestand van het SQL Server-playbook. Raadpleeg de documentatie of de README.md opgenomen in de sql Server-systeemrol voor meer informatie over de verschillende rolvariabelen.
In het volgende voorbeeld ziet u een playbookbestand met rolvariabelen die zijn gedefinieerd om SQL Server te configureren en extra functionaliteit in te schakelen:
- 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
SQL Server implementeren op de beheerde knooppunten
Als u SQL Server wilt implementeren op beheerde knooppunten met behulp van het Ansible-playbook, voert u de volgende opdracht uit vanaf het controllerknooppunt.
sudo ansible-playbook -u user playbook.yaml
Met dit proces wordt de uitrol gestart. Aan het einde ziet u een samenvatting van de uitvoering die er ongeveer zo uitziet:
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
Hulpmiddelen opschonen
Als u uw Virtuele Azure-machines niet meer gaat gebruiken, moet u deze verwijderen. Als u de drie VM's in een nieuwe resourcegroep hebt gemaakt, kunt u alle resources in die resourcegroep verwijderen met behulp van Azure CLI-.
Verwante inhoud
- quickstart: Een SQL Server Linux-container implementeren in Kubernetes met behulp van Helm-grafieken
- Inleiding tot adutil - Active Directory-hulpprogramma
- back-ups maken van SQL Server-databases en deze herstellen in Linux
- De Microsoft Distributed Transaction Coordinator (MSDTC) configureren op Linux