快速入门:使用 Helm 图表将 SQL Server Linux 容器部署到 Kubernetes
适用于: SQL Server - Linux
本快速入门将引导你完成以下步骤:使用 Helm 图表将 Linux 上的 SQL Server 容器从 Windows 客户端计算机部署到 Azure Kubernetes 服务 (AKS)。
AKS 是用于部署和管理容器群集的托管 Kubernetes 服务。 Helm 是一种开放源打包工具,有助于安装和管理 Kubernetes 应用程序的生命周期。
必备条件
安装客户端工具
在 Windows 客户机上,需要以下工具。
如果想要使用不同的客户端操作系统,则需要为该平台选择相应的包。
使用 Az PowerShell 模块安装 kubectl
使用 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 图表
现在,可以通过 Helm 图表在 AKS 群集上部署 SQL Server。
本快速入门提供了示例“原样”示例“原样”Helm 图表。 此示例仅供参考。 请记住查看 readme
文件以了解符合配置要求的配置值。
如果希望在 StatefulSet 模式下部署 SQL Server(推荐模式),可查看“原样”基于 StatefulSet 的 Helm 图表示例部署。
下载示例 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
连接到在 AKS 上运行的 SQL Server
可使用任何熟悉的 SQL Server 客户端工具连接到 SQL Server 实例,例如 SQL Server Management Studio (SSMS)、Azure Data Studio 或 sqlcmd。
例如,如果使用 SSMS 连接到 SQL Server 实例,可以使用以下设置:
- 服务器名称: 使用
mssql-latest-deploy
服务的External-IP
地址。 在此示例中,它是20.40.0.145
。 - 身份验证:从下拉列表中选择“SQL Server 身份验证”。
- 登录:使用 sa,这是系统管理员帐户。
- 密码:sa 密码与 Helm 图表的
values.yaml
文件中的sa_password
配置选项中提供的值匹配。
连接后,可以在对象资源管理器中展开 SQL Server 实例。
清理资源
如果不打算继续使用 AKS 群集,请记住删除群集。