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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 把运行在 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

相关文章
|
18小时前
|
应用服务中间件 nginx Docker
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷
|
18小时前
|
应用服务中间件 nginx Docker
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(3)
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(3)
|
18小时前
|
应用服务中间件 nginx Docker
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(2)
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(2)
|
18小时前
|
应用服务中间件 nginx Docker
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(1)
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(1)
|
18小时前
|
关系型数据库 MySQL 网络安全
Docker部署MySQL,2024网络安全通用流行框架大全
Docker部署MySQL,2024网络安全通用流行框架大全
|
18小时前
|
Docker 容器
Docker部署minio-arm64版本,阿里官方推荐
Docker部署minio-arm64版本,阿里官方推荐
|
18小时前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
19小时前
|
网络协议 Unix Linux
docker部署Portainer
Portainer可以在Docker上运行,而且部署起来非常简单 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求
docker部署Portainer
|
20小时前
|
Docker 容器
docker部署omni_usdt 0.8.0版本私有链集群环境
docker部署omni_usdt 0.8.0版本私有链集群环境
|
20小时前
|
存储 Linux Docker
CentOS7修改Docker容器和镜像默认存储位置
CentOS7修改Docker容器和镜像默认存储位置