Java 配置映射以连接字符串
我有一个RESTAPI,其中我有azure中的数据库和带有docker+kubernetes的应用程序,所以没问题 我有10多个客户机,每个客户机都有一个数据库,我不希望每个客户机都有一个docker映像,只希望每个客户机都有一个连接字符串,建议的解决方案是创建一个setenv.sh来进行连接 setenv.sh server.xmlJava 配置映射以连接字符串,java,azure,tomcat,kubernetes,database-connection,Java,Azure,Tomcat,Kubernetes,Database Connection,我有一个RESTAPI,其中我有azure中的数据库和带有docker+kubernetes的应用程序,所以没问题 我有10多个客户机,每个客户机都有一个数据库,我不希望每个客户机都有一个docker映像,只希望每个客户机都有一个连接字符串,建议的解决方案是创建一个setenv.sh来进行连接 setenv.sh server.xml 在那之前,一切都在运转。但是现在我不知道下一步是什么,如果我创建的每一个setenv都在kubernetes中有一个configmap,或者如果我在同一个sete
在那之前,一切都在运转。但是现在我不知道下一步是什么,如果我创建的每一个setenv都在kubernetes中有一个configmap,或者如果我在同一个setenv中有所有的connect字符串。。。。我想在这方面得到帮助,您可以根据文档从一个configMap设置多个环境变量 但我建议将带有敏感信息的密码和连接字符串存储在秘密中
您可以设置容器的环境变量。我为每个连接字符串做了1个配置映射,这很有效,但我也会分析您的建议,也许它更便于移植。非常感谢。
#!/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}'"
<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"/>