Бөлісу құралы:


Краткое руководство. Развертывание контейнера SQL Server Linux в Kubernetes с помощью диаграмм Helm

Область применения: SQL Server — Linux

В этом кратком руководстве описано, как развернуть SQL Server в контейнерах Linux для Службы Azure Kubernetes (AKS) с помощью диаграмм Helm с клиентского компьютера Windows.

AKS — это управляемая служба Kubernetes для развертывания кластеров контейнеров и управления ими. Helm — это средство упаковки с открытым кодом, которое помогает установить приложения Kubernetes и управлять их жизненным циклом.

Необходимые компоненты

Установка клиентских средств

На клиентском компьютере Windows вам потребуется следующее.

Если вы предпочитаете использовать другую клиентную операционную систему, необходимо выбрать соответствующие пакеты для этой платформы.

Установите kubectl с помощью модуля Az PowerShell

Kubectl используется для взаимодействия с кластером Kubernetes. Дополнительные сведения см. в статье az aks install-cli.

Чтобы установить kubectl, выполните следующую команду в командной строке Windows:

az aks install-cli

Совет

kubectl можно добавить в локальную переменную среды PATH, чтобы каждый раз не вводить полный путь.

Подключение kubectl к кластеру AKS

  1. Необходимо объединить контекст кластера AKS, чтобы команда kubectl или helm выполнялась в этом конкретном кластере AKS.

    Чтобы выполнить слияние, выполните команду, как описано в статье Подключение к кластеру AKS:

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

    Должны отобразиться следующие выходные данные, где указан кластер <clustername> и <username> является вашей локальной учетной записью пользователя Windows:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. Убедитесь, что слияние выполнено успешно, выполнив команду kubectl get nodes. В выходных данных должны отображаться узлы в контексте кластера AKS.

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

Изучите пример диаграммы Helm

Теперь вы готовы развернуть SQL Server в кластере AKS с помощью диаграммы Helm.

В этом кратком руководстве представлен пример диаграммы Helm "как есть". Пример предназначен только для справки. Не забудьте просмотреть файл readme, чтобы определить значения конфигурации, соответствующие вашим требованиям.

Если необходимо развернуть SQL Server в режиме StatefulSet, который является рекомендуемым режимом для развертываний SQL Server, вместо этого можно просмотреть развертывание диаграммы Helm на основе StatefulSet примера "как есть".

  1. Скачайте пример диаграммы Helm.

  2. Перейдите в каталог, где вы скачали пример диаграммы, и измените values.yaml файл при необходимости.

Развертывание SQL Server в кластере AKS

Разверните SQL Server с помощью следующей команды. Имя развертывания настраивается, поэтому для mssql-latest-deploy.

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

В предыдущем примере диаграмма и его файлы находятся в текущем каталоге, представленном периодом (.). При желании можно указать путь к диаграмме.

При успешном выполнении вы увидите аналогичные выходные данные:

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

Проверка развертывания SQL Server

Развертывание в кластере Kubernetes может занять несколько минут. Чтобы убедиться, что развертывание прошло успешно, выполните следующую команду:

kubectl get all

При успешном выполнении вы увидите аналогичные выходные данные:

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

Подключение к SQL Server, который выполняется в AKS

Вы можете подключиться к экземпляру SQL Server с помощью любого знакомого клиентского средства SQL Server, например SQL Server Management Studio (SSMS), Azure Data Studio или sqlcmd.

Например, при подключении к экземпляру SQL Server с помощью SSMS можно использовать следующие параметры:

  • Имя сервера. Используйте адрес External-IP для службы mssql-latest-deploy. В нашем примере это значение выглядит следующим образом: 20.40.0.145.
  • Проверка подлинности. Выберите проверку подлинности SQL Server в раскрывающемся списке.
  • Вход. Используйте учетную запись sa, которая является учетной записью системного администратора.
  • Пароль. Пароль sa соответствует значению, указанному в параметре конфигурации sa_password, в файле values.yaml диаграммы Helm.

После подключения можно развернуть экземпляр SQL Server в обозреватель объектов.

Снимок экрана: обозреватель объектов, подключенный к экземпляру базы данных.

Очистка ресурсов

Если вы не собираетесь продолжать использовать кластер AKS, не забудьте удалить его.