在 Yaml 中覆盖 MSSQL 数据库连接字符串 (Kubernetes)

问题描述 投票:0回答:1

我一直在尝试这个,但没有任何运气,我有一个用 .NET v6.0 编写的项目,我需要部署到多个 Kubernetes 集群,每个集群都有自己的数据库托管在 Azure 上。使用 Azure CI/CD 管道,我尝试覆盖

appsetting.json
中的连接字符串以匹配不同的 Kubernetes 集群。但是,当我部署此应用程序时,它不会覆盖环境变量中设置的连接字符串。我设置了其他环境变量,它们工作得很好,我只有
connectionstring

的问题

我的

appsetting.json

{
  "ConnectionStrings": {
    "DefaultConnection": "Server= 192.168.2.68; database=TransactionLogs;user id=sa;password=exTened;MultipleActiveResultSets=True;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "TransferPay": "input value",
  "TransferPayConn": "input value"

}

看起来像这样

在我的 Yaml 清单中,我尝试使用这样的环境变量覆盖此值

env:
  - name: Logging__LogLevel__Default
    value: Debug
  - name: Logging__LogLevel__Microsoft.AspNetCore
    value: Debug
  - name: TransferPay
    value: google.com
  - name: TransferPayConn
    value: yahoo.com
  - name: ConnectionStrings__DefaultConnection
    valueFrom:
        configMapKeyRef:
          name: db-config
          key: database_uri

配置映射

apiVersion: v1
kind: ConfigMap
metadata:
  name: db-config
  namespace: dev
data:
  database_uri: "Server= 192.168.2.68; database=TransactionLogs;user id=sa;password=exTened;MultipleActiveResultSets=True;"
sql-server kubernetes environment-variables .net-6.0
1个回答
0
投票

我终于明白了,

问题来自.Net项目,缺少数据库模型

.AddEnvironmentVariables()

© www.soinside.com 2019 - 2024. All rights reserved.