把运行在 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

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

pvc.yaml

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

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.

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

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

kubectl create namespace dev

部署 secret.yaml 和 pvc.yaml:

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

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

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

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

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

成功部署 secret:

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

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

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

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}}"

得到端口号: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

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

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

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

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

使用命令

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

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

(0)

相关推荐

  • 云原生系列2 部署你的第一个k8s应用

    云原生的概念和理论体系非常的完备,but talk is cheap , show me the code ! 但是作为一名程序员,能动手的咱绝对不多BB,虽然talk并不cheap , 能跟不同层次 ...

  • K8S实战之部署java应用

    kubernetes基本概念 Pod: 1.最小的部署单元, 2.一组容器的集合 3.一个pod中的容器共享网络命名空间 4.生命周期是短暂的 Controllers: 1.Deployment:部署 ...

  • 数据库为何不建议部署在Docker容器内

    近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程, ...

  • 在 Docker 里运行 Microsoft SQL 服务器

    链接:https://developers.sap.com/tutorials/cp-kyma-mssql-deployment.html 参考代码:https://github.com/SAP-sa ...

  • 在启用GPU的Docker容器中运行AI模型

    容器技术(例如Docker)极大地简化了依赖性管理和软件的可移植性.在本系列文章中,我们将探讨Docker在机器学习(ML)场景中的用法. 本系列假定您熟悉ML,一般的容器化,尤其是Docker.欢迎 ...

  • 一键安装Docker容器以及常见的运行命令记录

    我们一般的站长安装源码都是常规的一键SHELL安装或者编译安装,但是如果我们学会Docker容器的话,会觉得很方便,但是在学习和使用Docker的时候还是有一些不同的工具需要知道的.毕竟Docker算 ...

  • 【docker】给运行中的docker容器追加端口映射

    在docker运行容器时需要指定映射端口,那如果刚开始没有考虑的那么周全,后期遇到需要添加的端口时该怎么办呢. 网上常见的方法有两种: 1.配置防火墙转发端口. 2.把docker容器打包成镜像,然后 ...

  • 如何修改运行中的docker容器的端口映射

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  • 创建用于AI和机器学习的Docker容器

    容器技术(例如Docker)极大地简化了依赖性管理和软件的可移植性.在本系列文章中,我们将探讨Docker在机器学习(ML)场景中的用法. 本系列假定您熟悉ML,一般的容器化,尤其是Docker.欢迎 ...

  • 群晖NAS安装Docker容器版emby(zishuo版)

    原文链接 『原汁原味的官方Docker容器用法,只是单纯的进行破解及插件源,内置刮削补丁穿墙方案,改善大陆地区的用户体验,本镜像不用任何插件即可硬件转码和外网播放(小白不懂就多看看教程,不显示硬件转码 ...

  • Shell脚本控制docker容器启动顺序

    Shell脚本控制docker容器启动顺序