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



我一直在尝试这个没有任何运气,我有一个项目写在。net v6.0,我需要部署到多个Kubernetes集群,每个集群有它自己的数据库托管在Azure上。使用Azure CI/CD管道,我试图覆盖appsetting.json中的连接字符串以匹配不同的Kubernetes集群。但是,在部署此应用程序时,它不会覆盖环境变量中设置的连接字符串。我设置了其他环境变量,它们工作得很好,只有connectionstring

有问题Myappsetting.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

ConfigMap

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

我终于弄明白了,

问题来自。net项目,数据库模型缺失.AddEnvironmentVariables()

最新更新