установить переменные env в server.xml внутри kubernetes - PullRequest
0 голосов
/ 06 декабря 2018

Мне нужно установить переменные внутри моего server.xml, но во время создания моего модуля я сделал это, и это не сработало

server.xml

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

и мой под.ямл

apiVersion: v1
kind: Pod
metadata:
 name: dbtest
spec:
 containers:
 - name: dbtest-container
   image: xxx.azurecr.io/iafoxteste:latest
   ports:
     - containerPort: 8080
   env: 
     - name: db_url
       value: "jdbc:sqlserver://xxx.database.windows.net:1433;database=xxx;user=xxx@iafox;password=xxxx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Как уже упоминалось, kubernetes не делает это для вас.Чтобы передать это значение в tomcat, вам нужно добавить db_url как системное свойство java ex.-db_url = "JDBC: SQLServer: //xxx.database.windows.net: 1433; база данных = ххх, пользователь = ххх @ iafox, пароль = хххх, зашифровать = истина; ....".Затем вам необходимо иметь сценарии оболочки для начинающих, которые получают это значение из переменной среды и передают его в CATALINA_OPTS.Проверьте этот вопрос: Системные свойства Java и переменные среды

0 голосов
/ 06 декабря 2018

если только java не может сделать это, kubernetes не сделает это за вас.поэтому вам нужен скрипт инициализации, который будет читать env.Переменные и заменить токены в вашем server.xml.или заставьте ваше приложение сделать это каким-либо образом.

kubernetes не может сделать замену токена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...