配置映射以连接字符串

Config Maps to Connect Strings

我休息一下 api 我有 azure 数据库和 docker + kubernetes 的应用程序,很好。

我有 10 多个客户端,每个客户端都拥有一个数据库,我不想为每个客户端都有一个 docker 图像,只需要一个基本图像,每个客户端都有一个连接字符串,建议的解决方案是制作一个 setenv.sh 来建立连接

setenv.sh

#!/bin/bash

dbuser="xxx@iafox"
dbpassword="mypassword"
dbconnectstring="jdbc:sqlserver://xxx.database.windows.net:1433;database=ts-demo1;user=xxx@iafox;password=mypassword;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
dburl="jdbc:sqlserver://xxx.database.windows.net:1433;database=ts-demo1;"

export CATALINA_OPTS=" ${SYSTEM_PROPS} -Ddbuser='${dbuser}' -Ddbpassword=${dbpassword} -Ddbconnectstring='${dbconnectstring}' -Ddburl='${dburl}'"

server.xml

<Realm className="org.apache.catalina.realm.JDBCRealm" connectionURL="${dbconnectstring}" driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" roleNameCol="role" userCredCol="password" userNameCol="login" userRoleTable="userRole" userTable="v_login"/>

到那时一切正常。但是现在我不知道下一步,如果我创建的每个 setenv 我都会在 kubernetes 中有一个 configmap,或者我是否会有所有连接字符串都在同一个 setenv ....我想在这方面得到帮助

您可以从一个 configMap 中设置多个环境变量,如文档所述 here

但我建议将包含敏感信息的密码和连接字符串存储在 secret

您可以reference Kubernetes secrets in a similar way设置容器的环境变量。