Config Maps для подключения строк - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть API для отдыха, где у меня есть базы данных в Azure и приложение с docker + kubernetes, так что все в порядке.

У меня более 10 клиентов, и у каждого клиента есть база данных, я не хотелиметь образ докера для каждого клиента, просто иметь базовый образ, где для каждого клиента будет иметь строку подключения, предлагаемое решение было сделать 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 , который я создаю, у меня будет configmap в kubernetes, или если у меня будут все строки подключения в одном и том же setenv .... Мне нужна помощь в этом

1 Ответ

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

Вы можете установить несколько переменных среды из одной configMap, как описано здесь .

Но я бы рекомендовал хранить пароли и строки подключения с конфиденциальной информацией в secret.

Вы можете ссылаться на секреты Kubernetes аналогичным образом , чтобы установить переменные среды контейнера.

...