配置映射以连接字符串
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设置容器的环境变量。
我休息一下 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设置容器的环境变量。