Mulai cepat: Menyebarkan kontainer SQL Server Linux ke Kubernetes menggunakan bagan Helm

Berlaku untuk:SQL Server di Linux

Panduan mulai cepat ini memandu Anda melalui langkah-langkah untuk menerapkan SQL Server pada kontainer Linux ke Azure Kubernetes Service (AKS) dengan chart Helm, dari komputer klien Windows.

AKS adalah layanan Kubernetes terkelola untuk menyebarkan dan mengelola kluster kontainer. Helm adalah alat pengemasan sumber terbuka yang membantu Anda memasang dan mengelola siklus hidup aplikasi Kubernetes.

Prasyarat

  • Sebuah langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.

  • Membuat kluster AKS.

  • Unduh dan tinjau contoh Helm chart untuk panduan memulai cepat ini. Bagan sampel berisi banyak opsi konfigurasi untuk menyesuaikan penyebaran SQL Server Anda.

Menginstal alat klien

Di komputer klien Windows, Anda memerlukan alat berikut.

Jika Anda lebih suka menggunakan sistem operasi klien yang berbeda, Anda perlu memilih paket yang sesuai untuk platform tersebut.

Menginstal kubectl menggunakan modul Az PowerShell

Anda menggunakan kubectl untuk berinteraksi dengan kluster Kubernetes. Untuk informasi selengkapnya, lihat az aks install-cli.

Untuk menginstal kubectl, jalankan perintah berikut dari prompt perintah Windows Anda:

az aks install-cli

Tip

Anda dapat menambahkan kubectl ke variabel lingkungan lokal PATH Anda, sehingga Anda tidak perlu mengetikkan jalur lengkap setiap kali.

Menyambungkan kubectl ke kluster AKS

  1. Anda perlu menggabungkan konteks kluster AKS, sehingga perintah kubectl atau helm berjalan pada kluster AKS tertentu tersebut.

    Untuk menggabungkan, jalankan perintah seperti yang dijelaskan dalam artikel Sambungkan ke kluster AKS:

    az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
    

    Anda akan melihat output berikut, di mana <clustername> adalah kluster yang Anda sediakan, dan <username> merupakan akun pengguna Windows lokal Anda:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. Konfirmasikan bahwa penggabungan berhasil dengan menjalankan kubectl get nodes. Hasilnya harus menampilkan node dalam konteks klaster AKS Anda.

    NAME                    STATUS   ROLES   AGE    VERSION
    <aks-node>-vmss000000   Ready    agent   141d   v1.16.13
    <aks-node>-vmss000001   Ready    agent   141d   v1.16.13
    

Tinjau chart Helm contoh

Anda sekarang siap untuk menyebarkan SQL Server pada kluster AKS melalui bagan Helm.

Panduan singkat ini menyertakan contoh Helm chart "as-is" "as-is". Sampel hanya untuk referensi. Ingatlah untuk meninjau readme file untuk memahami nilai konfigurasi yang sesuai dengan persyaratan konfigurasi Anda.

Jika Anda ingin menerapkan SQL Server dalam mode StatefulSet, yang merupakan mode yang direkomendasikan untuk penerapan SQL Server, Anda dapat melihat contoh penerapan chart Helm berbasis StatefulSet apa adanya sebagai alternatif.

  1. Unduh contoh Helm chart.

  2. Beralih ke direktori tempat Anda mengunduh bagan sampel, dan ubah values.yaml file jika diperlukan.

Menyebarkan SQL Server ke kluster AKS

Sebarkan SQL Server menggunakan perintah berikut. Nama penyebaran dapat disesuaikan, sehingga Anda dapat mengubah mssql-latest-deploy ke apa pun yang Anda inginkan.

helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer

Dalam contoh sebelumnya, bagan dan filenya berada di direktori saat ini, yang diwakili oleh periode (.). Anda dapat menentukan jalur bagan jika mau.

Jika berhasil, Anda akan melihat output serupa:

NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1

Memverifikasi penyebaran SQL Server

Menyebarkan ke kluster Kubernetes dapat memakan waktu beberapa menit. Untuk memverifikasi bahwa penyebaran Anda berhasil, jalankan perintah berikut:

kubectl get all

Jika berhasil, Anda akan melihat output serupa:

NAME                                      READY   STATUS    RESTARTS   AGE
pod/mssql-latest-deploy-7f8c7f5bc-9grmg   1/1     Running   0          2m56s

NAME                          TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/kubernetes            ClusterIP      10.0.0.1       <none>        443/TCP          141d
service/mssql-latest-deploy   LoadBalancer   10.0.247.220   20.40.0.145   1433:30780/TCP   2m56s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mssql-latest-deploy   1/1     1            1           2m56s

NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/mssql-latest-deploy-7f8c7f5bc   1         1         1       2m56s

Menyambungkan ke SQL Server yang berjalan di AKS

Anda dapat terhubung ke instans SQL Server menggunakan alat klien SQL Server yang sudah dikenal, seperti sqlcmd, SQL Server Management Studio (SSMS), atau ekstensi MSSQL untuk Visual Studio Code.

Misalnya, jika Anda terhubung ke instans SQL Server menggunakan SSMS, Anda dapat menggunakan pengaturan berikut:

  • Nama server: Gunakan External-IP alamat untuk mssql-latest-deploy layanan. Contohnya, 20.40.0.145.
  • Autentikasi: Pilih Autentikasi SQL Server dari daftar dropdown.
  • Masuk: Gunakan sa, yang merupakan akun administrator sistem.
  • Kata sandi:sa kata sandi sesuai dengan nilai yang Anda berikan di opsi konfigurasi MSSQL_SA_PASSWORD, dalam berkas values.yaml bagan Helm.

Setelah tersambung, Anda dapat memperluas instans SQL Server di Object Explorer.

Cuplikan layar memperlihatkan Object Explorer yang tersambung ke instans database.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan kluster AKS, ingatlah untuk menghapus kluster Anda.