Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server - Linux
Panduan ini membawa Anda melalui langkah-langkah untuk mengotomatiskan penerapan SQL Server di Linux pada Azure Virtual Machines, menggunakan playbook Ansible.
Ansible adalah produk sumber terbuka yang mengotomatiskan provisi cloud, manajemen konfigurasi, dan penyebaran aplikasi.
Playbook Ansible memungkinkan Anda mengarahkan Ansible untuk mengonfigurasi lingkungan Anda. Playbook dikodekan menggunakan YAML sehingga dapat dibaca manusia.
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
Buat grup sumber daya baru menggunakan Azure CLI, yang berisi tiga Azure Virtual Machines:
Buat Azure VM, menjalankan Red Hat Enterprise Linux (RHEL) 8.5 atau yang lebih tinggi. Komputer virtual (VM) ini menjadi simpul pengontrol.
Buat Azure VM, menjalankan RHEL, untuk berfungsi sebagai simpul terkelola pertama.
Buat Azure VM, yang menjalankan Ubuntu Server, untuk berfungsi sebagai simpul terkelola kedua.
Gambaran Umum
VM pertama, tempat Anda mengonfigurasi Ansible Core, adalah simpul pengontrol. Pada simpul ini, Anda menginstal peran sistem SQL Server.
VM yang tersisa adalah komputer target, juga dikenal sebagai simpul terkelola, untuk menyebarkan dan mengonfigurasi SQL Server menggunakan peran sistem.
Menginstal Ansible Core
Dimulai dengan RHEL 8.x di Azure VM, ansible-core
paket dapat diinstal dari repositori AppStream yang telah dikonfigurasi sebelumnya. Anda dapat menginstal Ansible Core pada simpul pengontrol menggunakan perintah berikut:
sudo yum install ansible-core
Anda dapat memeriksa apakah penginstalan berhasil dengan perintah berikut:
ansible --version
Anda melihat output yang mirip dengan contoh berikut:
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
Mengedit hosts
file pada simpul pengontrol
Ansible membuat file hosts
di direktori /etc/ansible
. Edit file ini menggunakan editor favorit Anda untuk menambahkan detail simpul terkelola, baik sebagai entri grup, atau sebagai entri yang tidak dikelompokkan. Untuk informasi tentang cara membuat inventaris Anda sendiri, lihat Cara membuat inventori Anda.
Dalam contoh ini menggunakan hosts
file, alamat IP untuk simpul terkelola pertama adalah 10.0.0.12, dan alamat IP untuk simpul terkelola kedua adalah 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
Mengonfigurasi akses SSH tanpa kata sandi antar simpul
Anda perlu mengonfigurasi koneksi Secure Shell (SSH) antara simpul pengontrol dan semua simpul terkelola tempat SQL Server akan diinstal.
Mengonfigurasi SSH pada simpul pengontrol
Jika SSH sudah dikonfigurasi, Anda dapat melewati langkah ini.
ssh-keygen
Gunakan perintah untuk menghasilkan kunci SSH. Saat menjalankan perintah, Anda akan diminta untuk menerima nilai default. Setelah selesai, Anda memiliki pasangan kunci privat dan publik.
Menyalin kunci publik ke simpul terkelola
Pada setiap simpul terkelola, Anda harus menyalin kunci publik dari simpul pengontrol yang baru saja Anda buat, menggunakan
ssh-copy-id
perintah . Jika Anda ingin menentukan direktori target pada simpul terkelola, Anda dapat menggunakan-i
parameter .Dalam perintah berikut,
user
akun dapat menjadi akun yang sama dengan yang Anda konfigurasi untuk setiap simpul terkelola saat membuat VM. Anda juga dapat menggunakan akun,root
tetapi ini tidak disarankan di lingkungan produksi.sudo ssh-copy-id user@10.0.0.12 sudo ssh-copy-id user@10.0.0.14
Untuk mengonfirmasi bahwa kunci publik SSH disalin ke setiap simpul, gunakan
ssh
perintah dari simpul pengontrol. Jika Anda menyalin kunci dengan benar, Anda tidak dimintai kata sandi, dan koneksi berhasil.ssh user@10.0.0.12 ssh user@10.0.0.14
Menginstal peran sistem SQL Server
Peran sistem Ansible disebut ansible-collection-microsoft-sql
. Pada simpul pengontrol, jalankan perintah berikut untuk menginstal peran sistem SQL Server:
sudo yum install ansible-collection-microsoft-sql
Perintah ini menginstal peran SQL Server ke /usr/share/ansible/collections
, dengan file berikut:
-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
Buat dan konfigurasikan playbook Ansible
Setelah menginstal peran sistem, Anda akan membuat file YAML untuk playbook SQL Server. Untuk memahami berbagai variabel peran, lihat dokumentasi atau README.md yang disertakan dengan peran sistem SQL Server.
Contoh berikut menunjukkan file playbook, dengan variabel peran yang ditentukan untuk mengonfigurasi SQL Server dan mengaktifkan fungsionalitas tambahan. Ganti <password>
dengan kata sandi yang valid.
- 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​
Menyebarkan SQL Server pada simpul terkelola
Untuk menyebarkan SQL Server pada simpul terkelola menggunakan playbook Ansible, jalankan perintah berikut dari simpul pengontrol.
sudo ansible-playbook -u user playbook.yaml
Proses ini memulai penerapan, dan di akhir, Anda akan melihat ringkasan sesi yang terlihat mirip dengan output ini:
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
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan Azure VM Anda, ingatlah untuk menghapusnya. Jika Anda membuat tiga VM dalam grup sumber daya baru, Anda dapat menghapus semua sumber daya di dalam grup sumber daya tersebut menggunakan Azure CLI.