Bagikan melalui


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

Berlaku untuk:SQL Server - Linux

Mulai cepat ini membawa Anda melalui langkah-langkah untuk menyebarkan SQL Server pada kontainer Linux ke Azure Kubernetes Service (AKS) dengan bagan 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

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

  • Buat kluster AKS.

  • Unduh dan tinjau sampel bagan Helm untuk mulai cepat ini. Bagan sampel berisi banyak opsi konfigurasi untuk menyesuaikan penyebaran SQL Server Anda.

Instal alat klien

Di komputer klien Windows, Anda memerlukan alat berikut.

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

Menginstal kubectl menggunakan modul Az PowerShell

Anda akan 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.

Koneksi 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 Koneksi 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. Output harus menunjukkan simpul dalam konteks kluster 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
    

Meninjau sampel bagan Helm

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

Mulai cepat ini menyediakan sampel sampel "apa adanya" bagan Helm "apa adanya". Sampel hanya untuk referensi. Ingatlah untuk meninjau readme file untuk memahami nilai konfigurasi yang sesuai dengan persyaratan konfigurasi Anda.

Jika Anda ingin menyebarkan SQL Server dalam mode StatefulSet, yang merupakan mode yang direkomendasikan untuk penyebaran SQL Server, Anda dapat melihat contoh penyebaran bagan Helm berbasis StatefulSet sebagai gantinya.

  1. Unduh sampel bagan Helm.

  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 di bawah ini. 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 di atas, 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

Koneksi ke SQL Server yang berjalan di AKS

Anda dapat terhubung ke instans SQL Server menggunakan alat klien SQL Server yang sudah dikenal, seperti SQL Server Management Studio (SSMS), Azure Data Studio, atau sqlcmd.

Misalnya, jika Anda tersambung ke instans SQL Server menggunakan SQL Server, 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 menu dropdown.
  • Login: Gunakan sa, yang merupakan akun administrator sistem.
  • Kata sandi: Kata sandi sa cocok dengan nilai yang Anda berikan dalam sa_password opsi konfigurasi, dalam values.yaml file bagan Helm.

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

Screenshot showing the Object Explorer connected to the database instance.

Membersihkan sumber daya

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