Краткое руководство. Развертывание контейнера SQL Server Linux в Kubernetes с помощью диаграмм Helm
Область применения: SQL Server — Linux
В этом кратком руководстве описано, как развернуть SQL Server в контейнерах Linux для Службы Azure Kubernetes (AKS) с помощью диаграмм Helm с клиентского компьютера Windows.
AKS — это управляемая служба Kubernetes для развертывания кластеров контейнеров и управления ими. Helm — это средство упаковки с открытым кодом, которое помогает установить приложения Kubernetes и управлять их жизненным циклом.
Необходимые компоненты
Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
Скачайте и просмотрите пример диаграммы Helm для этого краткого руководства. Пример диаграммы содержит множество параметров конфигурации для настройки развертывания SQL Server.
Установка клиентских средств
На клиентском компьютере Windows вам потребуется следующее.
Если вы предпочитаете использовать другую клиентную операционную систему, необходимо выбрать соответствующие пакеты для этой платформы.
Установите kubectl с помощью модуля Az PowerShell
Kubectl используется для взаимодействия с кластером Kubernetes. Дополнительные сведения см. в статье az aks install-cli.
Чтобы установить kubectl, выполните следующую команду в командной строке Windows:
az aks install-cli
Совет
kubectl можно добавить в локальную переменную среды PATH
, чтобы каждый раз не вводить полный путь.
Подключение kubectl к кластеру AKS
Необходимо объединить контекст кластера 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
Убедитесь, что слияние выполнено успешно, выполнив команду
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 примера "как есть".
Скачайте пример диаграммы Helm.
Перейдите в каталог, где вы скачали пример диаграммы, и измените
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
пароль соответствует значению, указанному вMSSQL_SA_PASSWORD
параметре конфигурации, вvalues.yaml
файле диаграммы Helm.
После подключения можно развернуть экземпляр SQL Server в обозреватель объектов.
Очистка ресурсов
Если вы не собираетесь продолжать использовать кластер AKS, не забудьте удалить его.