Поделиться через


Краткое руководство. Развертывание контейнера 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, не забудьте удалить его.