把运行在 Docker 容器内的 Microsoft SQL 服务器部署到 SAP Kyma 中

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 把运行在 Docker 容器内的 Microsoft SQL 服务器部署到 SAP Kyma 中

在阅读这篇文章之前,Jerry 假设您已经读过了这篇在 Docker 里运行 Microsoft SQL 服务器。


本地项目地址:C:\Code\referenceCode\SAP Kyma教程例子


参考链接:https://developers.sap.com/tutorials/cp-kyma-mssql-deployment.html#42706edb-619b-43f4-9b3e-3179f149e565


secret.yaml

image.png


定义了数据库的用户名和密码。


pvc.yaml

定义了一个 PersistentVolume,用于存储数据库的数据。


image.png


deployment.yaml

defines the Deployment definition for the MSSQL database as well as a Service used for communication. This definition references both the secret.yaml and pvc.yaml by name.


image.png


使用这篇文章如何使用 kubectl 通过命令行的方式操作 SAP Kyma提到的方法,配置好 kubectl 和 SAP Kyma 的连接。


使用命令行创建名为 dev 的 namespace:


kubectl create namespace dev


image.png


部署 secret.yaml 和 pvc.yaml:


kubectl -n dev apply -f ./k8s/pvc.yaml


image.png


注意,如果遇到下列错误消息:


error: you must be logged in to the server ( the server has asked for the client to provide credentials):


image.png


解决办法就是从 Kyma 控制台重新下载一份 kubeconfig:


image.png


成功部署 PersistentVolumeClaim:persistentvolumeclaim/mssql-data created



image.png

成功部署 secret:

image.pngimage.png


最后使用如下命令,将本地 k8s 文件夹里的 yaml 文件代表的 deployment 资源,部署到 SAP Kyma 上:


image.png


部署成功后,使用命令行查看自动生成的 pod 的名称:


我的 pod 名称:mssql-74787d5b48-lr877


image.png


Kubernetes provides a port-forward functionality that allows you to connect to resources running in the Kyma runtime locally. This can be useful for development and debugging tasks.


使用如下命令行拿到该 pod 监听的端口号:


kubectl get pod mssql-74787d5b48-lr877 -n dev --template="{{(index (index .spec.containers 0).ports 0).containerPort}}"


image.png


得到端口号:1433


使用如下命令为 pod 设置端口转发,即 port forward 功能:


kubectl port-forward mssql-74787d5b48-lr877 -n dev 1433:1433


看到如下输出:


Forwarding from 127.0.0.1:1433 -> 1433

Forwarding from [::1]:1433 -> 1433


image.png


接下来,我们就可以在本地,使用 localhost:1433 访问运行在 SAP Kyma 里的数据库了。


sqlcmd -S localhost:1433 -U SA -P Yukon900


使用如下命令找到 pod 里的 container 名称:mssql


kubectl describe pod mssql-74787d5b48-lr877 -n dev


image.png


使用命令


kubectl exec -it mssql-74787d5b48-lr877 -n dev -c mssql – bash


需要提前设置环境变量:set KUBECONFIG=C:\app\kubeconfig.yml

image.pngimage.png

相关文章
|
13天前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
76 3
|
13天前
|
SQL
简单练习Microsoft SQL Server MERGE同步两个表
【10月更文挑战第13天】本文介绍了在Microsoft SQL Server中使用`MERGE`语句同步两个表的步骤。首先创建源表`SourceTable`和目标表`TargetTable`并分别插入数据,然后通过`MERGE`语句根据ID匹配行,实现更新、插入和删除操作,最后验证同步结果。此方法可根据需求调整以适应不同场景。
|
15天前
|
Kubernetes 持续交付 Docker
利用 Docker 和 Kubernetes 实现微服务部署
【10月更文挑战第2天】利用 Docker 和 Kubernetes 实现微服务部署
|
8天前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
15 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
10天前
|
存储 前端开发 测试技术
【Docker项目实战】使用Docker部署Calcium网页计算器
【10月更文挑战第7天】使用Docker部署Calcium网页计算器
20 1
【Docker项目实战】使用Docker部署Calcium网页计算器
|
13天前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
【10月更文挑战第4天】使用Docker部署Radicale日历和联系人应用
54 2
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
|
15天前
|
人工智能 数据安全/隐私保护 虚拟化
Docker部署MaxKB详细步骤(window系统)
这篇文章详细介绍了如何在Windows系统上使用Docker部署MaxKB,并提供了从安装Docker到运行MaxKB容器的详细步骤,以及如何通过浏览器访问和配置MaxKB来使用ollama和llama3模型进行问答。
125 1
Docker部署MaxKB详细步骤(window系统)
|
7天前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
20 0
【Docker项目实战】使用docker部署tabler后台模版
|
9天前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
22 0
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
16天前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
42 3