把運行在 Docker 容器內的 Microsoft SQL 服務器部署到 SAP Kyma 中

在閱讀這篇文章以前,Jerry 假設您已經讀過了這篇在 Docker 裏運行 Microsoft SQL 服務器html

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

參考連接:https://developers.sap.com/tu...數據庫

secret.yaml

定義了數據庫的用戶名和密碼。bash

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 的鏈接。app

使用命令行建立名爲 dev 的 namespace:ide

kubectl create namespace devspa

部署 secret.yaml 和 pvc.yaml:命令行

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

注意,若是遇到下列錯誤消息:

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


更多Jerry的原創文章,盡在:"汪子熙":

相關文章
相關標籤/搜索