This commit is contained in:
389
platform/proxy-db-kubernetes.html
Normal file
389
platform/proxy-db-kubernetes.html
Normal file
@ -0,0 +1,389 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Proxying databases in Kubernetes via DB-Gateway</title>
|
||||
<meta name="generator" content="Help+Manual" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="One of the steps for preparing BRIX infrastructure is to configure proxying of database queries. For this purpose, you can use the DB‑Gateway tool. " />
|
||||
<meta name="picture" content="" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
|
||||
<meta property="og:url" content="https://brix365.com/en/help" />
|
||||
<meta property="og:image" content="" />
|
||||
<link rel="icon" href="favicon.png" type="image/png" />
|
||||
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="./jquery-ui.min.css" />
|
||||
<link rel="stylesheet" href="default.css" />
|
||||
<link rel="stylesheet" href="./search-yandex.css" />
|
||||
<link rel="stylesheet" href="./article.css" />
|
||||
<link rel="stylesheet" href="./glossary.css" />
|
||||
<link rel="stylesheet" href="./theme.css" />
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="helpman_settings.js"></script>
|
||||
<script type="text/javascript" src="helpman_topicinit.js"></script>
|
||||
|
||||
<script type="text/javascript" src="highlight.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){highlight();});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
|
||||
|
||||
<header class="header elma-365">
|
||||
<div class="container">
|
||||
<a class="header__logo" href="https://brix365.com/en/help">
|
||||
<img src="./logo-en.svg" alt="header logo">
|
||||
</a>
|
||||
<!-- <div class="hero__search-form" id="search-panel">
|
||||
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
|
||||
<label class="search-form__label">
|
||||
<span id="reset-search" class="search__icon"></span>
|
||||
<input class="search-form__input" type="text">
|
||||
</label>
|
||||
<input class="search-form__submit" type="submit" value="Submit">
|
||||
</form>
|
||||
</div> -->
|
||||
|
||||
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
|
||||
<div class="hero__search">
|
||||
<a href="#" id="search-icon" class="hero__search-icon">
|
||||
<img src="search-icon-white.svg" alt="search string">
|
||||
</a>
|
||||
<a href="#" id="side-menu-icon" class="hero__side-icon">
|
||||
<img src="side_menu.svg" alt="side menu">
|
||||
</a>
|
||||
</div>
|
||||
<div class="header__navi">
|
||||
|
||||
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<main class="main container">
|
||||
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<div class="sidebar__header">
|
||||
<a class="header__logo" href="https://brix365.com/en/help">
|
||||
<img src="./logo-light-en.svg">
|
||||
</a>
|
||||
<span class="sidebar__close elma-365-close" id="close"></span>
|
||||
</div>
|
||||
<div class="sidebar__wrapper" id="side-menu">
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<article class="article" id="article">
|
||||
<div class="article-inner">
|
||||
<div class="content">
|
||||
<header class="article__header">
|
||||
<div class="article__bread" style="display:flex; gap:10px;">
|
||||
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
|
||||
|
||||
<div class="topic__breadcrumbs">
|
||||
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> > <a href="infrastructure-preparation.html">Prepare infrastructure</a> > Load balancer / Proxying databases in Kubernetes via DB-Gateway</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Proxying databases in Kubernetes via DB-Gateway</span></h1>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
<section class="article__content">
|
||||
<div class="scroll-top-inner">
|
||||
<a href="#h1-article" class="scroll-top"></a>
|
||||
</div>
|
||||
<!-- Placeholder for topic body. -->
|
||||
<p class="p_Normal">One of the steps for preparing BRIX infrastructure is to configure proxying of database queries. For this purpose, you can use the DB‑Gateway tool. </p>
|
||||
<p class="p_Normal">It provides access to the Redis, RabbitMQ, PostgreSQL, and MinIO databases via an entry point in the Kubernetes cluster. This simplifies the process of connecting to and working with databases, and optimizes the number of infrastructure components required to configure proxying.</p>
|
||||
<p class="p_Normal">DB‑Gateway installation consists of the following steps:</p>
|
||||
<ol style="list-style-type:decimal">
|
||||
<li value="1" class="p_Normal"><a href="proxy-db-kubernetes.html#download-chart" class="topiclink">Download the helm-chart and the configuration file</a>.</li><li value="2" class="p_Normal"><a href="proxy-db-kubernetes.html#configuration-file" class="topiclink">Fill out the configuration file</a>.</li><li value="3" class="p_Normal"><a href="proxy-db-kubernetes.html#install-chart" class="topiclink">Install the DB-Gateway chart using Helm in the Kubernetes cluster</a>.</li><li value="4" class="p_Normal"><a href="proxy-db-kubernetes.html#connect-db" class="topiclink">Connect to databases</a>.</li></ol>
|
||||
<h2 class="p_Heading2"><a id="download-chart" class="hmanchor"></a><span class="f_Heading2">Step 1: Download the helm-chart and the configuration file</span></h2>
|
||||
<p class="p_Normal">To install via the internet, obtain the <code><b>values-dbgateway.yaml</b></code> configuration file by running the command:</p>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm repo add elma365 https://charts.elma365.tech</span><br />
|
||||
<span class="f_CodeExample">helm repo update</span><br />
|
||||
<span class="f_CodeExample">helm show values elma365/dbgateway > values-dbgateway.yaml</span></p>
|
||||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Obtaining the configuration file for installation in an isolated environment without internet access</a></p>
|
||||
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||||
<tr>
|
||||
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
|
||||
<li value="1" class="p_Normal">On a computer with internet access, download the archive of the DB-Gateway latest chart from the BRIX repository by running the command:</li></ol>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm repo add elma365 https://charts.elma365.tech</span><br />
|
||||
<span class="f_CodeExample">helm repo update</span><br />
|
||||
<span class="f_CodeExample">helm pull elma365/dbgateway</span></p>
|
||||
<ol style="list-style-type:decimal" start="2">
|
||||
<li value="2" class="p_Normal">Copy the <code><b>dbgateway-X.Y.Z.tgz</b></code> chart archive to the server where the installation will be performed.</li><li value="3" class="p_Normal">Unzip the <code><b>dbgateway-X.Y.Z.tgz</b></code> chart and copy the default <code><b>values.yaml</b></code> configuration file to <code><b>values-mimir.yaml</b></code>:</li></ol>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">tar -xf dbgateway-X.Y.Z.tgz</span><br />
|
||||
<span class="f_CodeExample">cp dbgateway/values.yaml values-dbgateway.yaml</span></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<h2 class="p_Heading2"><a id="configuration-file" class="hmanchor"></a><span class="f_Heading2">Step 2: Fill out the configuration file</span></h2>
|
||||
<p class="p_Normal">Fill out the <code><b>values-dbgateway.yaml</b></code> configuration file for DB‑gateway installation:</p>
|
||||
<ol style="list-style-type:upper-roman">
|
||||
<li value="1" class="p_Normal">In the <code><b>ingress.hostname parameter</b></code>, set the domain (FQDN) or the IP address of the BRIX application.</li><li value="2" class="p_Normal">In the <code><b>ingress.path</b></code> parameter, set the bucket name (in the database storage) where the BRIX files are stored.<br />
|
||||
The bucket name in the database must correspond to the <span style="font-weight: bold;">DBelma365</span> format.</li></ol>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало примера</span></p>
|
||||
<p class="p_Normal">Example:</p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li class="p_Normal">DBelma365.</li><li class="p_Normal">DBelma365-dev.</li><li class="p_Normal">DBelma365-prod.</li></ul>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец примера</span></p>
|
||||
<ol style="list-style-type:upper-roman" start="3">
|
||||
<li value="3" class="p_Normal">The following changes should be made to the configuration file if the BRIX application web-interface is accessible via HTTPS:</li></ol>
|
||||
<ul style="list-style-type:disc">
|
||||
<li class="p_Normal">In the <code><b>ingress.hostname</b></code> parameter, set the domain (FQDN).</li><li class="p_Normal">In the <code><b>ingress.ingressClassName</b></code> parameter, set the name of the ingress controller class.</li><li class="p_Normal">Enable TLS support by setting the<code><b>ingress.tls</b></code> parameter to <code><b>true</b></code>.</li><li class="p_Normal">Uncomment the parameters of the <code><b>ingress.extraTls</b></code> section.</li><li class="p_Normal">For the <code><b>ingress.extraTls.hosts</b></code> parameter, set the domain (FQDN) where the BRIX application is available.</li><li class="p_Normal">For the <code><b>ingress.extraTls.secretName</b></code> parameter, set the <code><b>secret</b></code> name of the <code><b>tls</b></code> type for the domain specified in <code><b>ingress.extraTls.hosts</b></code>.</li></ul>
|
||||
<ol style="list-style-type:upper-roman" start="4">
|
||||
<li value="4" class="p_Normal">If high availability is provided, set the required number of replicas in the <code><b>replicaCount</b></code> parameter.</li><li value="5" class="p_Normal">In the configuration parameter, the HAProxy configuration is specified with which this tool will run in the Kubernetes cluster. In the <code><b>backend DB_main</b></code> section of the HAProxy configuration, specify the list of database servers to which user traffic will be redirected. </li></ol>
|
||||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A2')">How to configure HAProxy to proxy connection to a database repository</a></p>
|
||||
<div id="TOGGLE0186A2" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||||
<tr>
|
||||
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal"> <br />
|
||||
The example considers the Redis, RabbittMQ, PostgreSQL, and MinIO databases located outside the Kubernetes cluster and deployed according to the instructions in the <a href="configure-system.html" class="topiclink">High availability infrastructure</a> section. Let's configure proxying of the user traffic for servers with these databases.</p>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample"> </span><br />
|
||||
<span class="f_CodeExample"># HAProxy settings for proxying connection to database storage</span><br />
|
||||
<span class="f_CodeExample">haproxy:</span><br />
|
||||
<span class="f_CodeExample"> ingress:</span><br />
|
||||
<span class="f_CodeExample"> enabled: true</span><br />
|
||||
<span class="f_CodeExample"> # domain (FQDN) where the system is available</span><br />
|
||||
<span class="f_CodeExample"> hostname: elma365-server.your_domain</span><br />
|
||||
<span class="f_CodeExample"> # bucket name (in the DB storage) for BRIX application</span><br />
|
||||
<span class="f_CodeExample"> ingressClassName: nginx</span><br />
|
||||
<span class="f_CodeExample"> path: /DBelma365</span><br />
|
||||
<span class="f_CodeExample"> # enable https</span><br />
|
||||
<span class="f_CodeExample"> tls: false</span><br />
|
||||
<span class="f_CodeExample"> # extraTls:</span><br />
|
||||
<span class="f_CodeExample"> # - hosts:</span><br />
|
||||
<span class="f_CodeExample"> # - elma365-server.your_domain</span><br />
|
||||
<span class="f_CodeExample"> # secretName: elma365-server.your_domain-tls</span><br />
|
||||
<span class="f_CodeExample"> # number of replicas to ensure high availability</span><br />
|
||||
<span class="f_CodeExample"> replicaCount: 2</span><br />
|
||||
<span class="f_CodeExample"> containerPorts:</span><br />
|
||||
<span class="f_CodeExample"> - name: http</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 8080</span><br />
|
||||
<span class="f_CodeExample"> - name: redis</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 6379</span><br />
|
||||
<span class="f_CodeExample"> - name: sentinel</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 26379</span><br />
|
||||
<span class="f_CodeExample"> - name: rabbitmq</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 5672</span><br />
|
||||
<span class="f_CodeExample"> - name: rabbitmq-stats</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 15672</span><br />
|
||||
<span class="f_CodeExample"> - name: postgresql</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 5000</span><br />
|
||||
<span class="f_CodeExample"> - name: postgresqlro</span><br />
|
||||
<span class="f_CodeExample"> containerPort: 5001</span><br />
|
||||
<span class="f_CodeExample"> # haproxy configuration</span><br />
|
||||
<span class="f_CodeExample"> configuration: |</span><br />
|
||||
<span class="f_CodeExample"> global</span><br />
|
||||
<span class="f_CodeExample"> log stdout format raw local0</span><br />
|
||||
<span class="f_CodeExample"> maxconn 1024</span><br />
|
||||
<span class="f_CodeExample"> defaults</span><br />
|
||||
<span class="f_CodeExample"> log global</span><br />
|
||||
<span class="f_CodeExample"> timeout client 60s</span><br />
|
||||
<span class="f_CodeExample"> timeout connect 60s</span><br />
|
||||
<span class="f_CodeExample"> timeout server 60s</span><br />
|
||||
<span class="f_CodeExample"> ### S3 MinIO ###</span><br />
|
||||
<span class="f_CodeExample"> frontend s3_main</span><br />
|
||||
<span class="f_CodeExample"> bind :8080</span><br />
|
||||
<span class="f_CodeExample"> default_backend s3_main</span><br />
|
||||
<span class="f_CodeExample"> backend s3_main</span><br />
|
||||
<span class="f_CodeExample"> balance leastconn</span><br />
|
||||
<span class="f_CodeExample"> server s3_1 192.168.1.241:9000 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> server s3_2 192.168.1.242:9000 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> server s3_3 192.168.1.243:9000 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> server s3_4 192.168.1.244:9000 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> ### S3 MinIO ###</span><br />
|
||||
<span class="f_CodeExample"> ### Redis ###</span><br />
|
||||
<span class="f_CodeExample"> listen redis_master</span><br />
|
||||
<span class="f_CodeExample"> option tcplog</span><br />
|
||||
<span class="f_CodeExample"> option clitcpka</span><br />
|
||||
<span class="f_CodeExample"> bind :6379</span><br />
|
||||
<span class="f_CodeExample"> balance first</span><br />
|
||||
<span class="f_CodeExample"> mode tcp</span><br />
|
||||
<span class="f_CodeExample"> timeout queue 2s</span><br />
|
||||
<span class="f_CodeExample"> timeout connect 2s</span><br />
|
||||
<span class="f_CodeExample"> timeout check 1s</span><br />
|
||||
<span class="f_CodeExample"> option srvtcpka</span><br />
|
||||
<span class="f_CodeExample"> timeout server 24h</span><br />
|
||||
<span class="f_CodeExample"> server redis-server1 192.168.1.237:6379 check inter 5s</span><br />
|
||||
<span class="f_CodeExample"> server redis-server2 192.168.1.238:6379 check inter 5s</span><br />
|
||||
<span class="f_CodeExample"> server redis-server3 192.168.1.239:6379 check inter 5s</span><br />
|
||||
<span class="f_CodeExample"> ### Redis ###</span><br />
|
||||
<span class="f_CodeExample"> ### RabbitMQ ###</span><br />
|
||||
<span class="f_CodeExample"> listen rabbitmq</span><br />
|
||||
<span class="f_CodeExample"> bind :5672</span><br />
|
||||
<span class="f_CodeExample"> mode tcp</span><br />
|
||||
<span class="f_CodeExample"> balance roundrobin</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server1 192.168.1.234:5672 check inter 2s rise 2 fall 3</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server2 192.168.1.235:5672 check inter 2s rise 2 fall 3</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server3 192.168.1.236:5672 check inter 2s rise 2 fall 3</span><br />
|
||||
<span class="f_CodeExample"> listen rabbitmq_management</span><br />
|
||||
<span class="f_CodeExample"> bind :15672</span><br />
|
||||
<span class="f_CodeExample"> balance source</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server1 192.168.1.234:15672 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server2 192.168.1.235:15672 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> server rabbitmq-server3 192.168.1.236:15672 check inter 2s</span><br />
|
||||
<span class="f_CodeExample"> ### RabbitMQ ###</span><br />
|
||||
<span class="f_CodeExample"> ### PostgreSQL ###</span><br />
|
||||
<span class="f_CodeExample"> listen postgres_master</span><br />
|
||||
<span class="f_CodeExample"> bind :5000</span><br />
|
||||
<span class="f_CodeExample"> option tcplog</span><br />
|
||||
<span class="f_CodeExample"> option httpchk OPTIONS /master</span><br />
|
||||
<span class="f_CodeExample"> http-check expect status 200</span><br />
|
||||
<span class="f_CodeExample"> default-server inter 3s fastinter 1s fall 3 rise 4 on-marked-down shutdown-sessions</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server1 192.168.1.251:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server2 192.168.1.252:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server3 192.168.1.253:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> </span><br />
|
||||
<span class="f_CodeExample"> listen postgres_replicas</span><br />
|
||||
<span class="f_CodeExample"> bind :5001</span><br />
|
||||
<span class="f_CodeExample"> option tcplog</span><br />
|
||||
<span class="f_CodeExample"> option httpchk OPTIONS /replica</span><br />
|
||||
<span class="f_CodeExample"> balance roundrobin</span><br />
|
||||
<span class="f_CodeExample"> http-check expect status 200</span><br />
|
||||
<span class="f_CodeExample"> default-server inter 3s fastinter 1s fall 3 rise 2 on-marked-down shutdown-sessions</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server1 192.168.1.251:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server2 192.168.1.252:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> server postgres-server3 192.168.1.253:5432 check port 8008</span><br />
|
||||
<span class="f_CodeExample"> ### PostgreSQL ###</span><br />
|
||||
<span class="f_CodeExample">...</span></p>
|
||||
<p class="p_Normal"> </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<ol style="list-style-type:upper-roman" start="6">
|
||||
<li value="6" class="p_Normal">If you install DB-Gateway chart in an isolated environment without internet access, fill out the connection parameters for the private registry.</li></ol>
|
||||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A3')">How to fill out the connection parameters for the private registry</a></p>
|
||||
<div id="TOGGLE0186A3" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||||
<tr>
|
||||
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
|
||||
<li value="1" class="p_Normal">Set the address in the <code><b>haproxy.image.registry</b></code> parameter.</li><li value="2" class="p_Normal">Set the path in the <code><b>haproxy.image.repository</b></code> parameter.</li><li value="3" class="p_Normal">Set the secret name with the access permissions for the private registry in the <code><b>haproxy.image.pullSecrets</b></code> parameter (the secret must be manually created and encrypted in Base64).</li></ol>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample"># HAProxy settings for proxying connection to the database storage</span><br />
|
||||
<span class="f_CodeExample">haproxy:</span><br />
|
||||
<span class="f_CodeExample">...</span><br />
|
||||
<span class="f_CodeExample"> # Parameters for connecting to the private registry</span><br />
|
||||
<span class="f_CodeExample"> image:</span><br />
|
||||
<span class="f_CodeExample"> # address and path for the private registry</span><br />
|
||||
<span class="f_CodeExample"> registry: registry.example.com</span><br />
|
||||
<span class="f_CodeExample"> repository: /bitnami/haproxy</span><br />
|
||||
<span class="f_CodeExample"> tag: 3.0.5-debian-12-r0</span><br />
|
||||
<span class="f_CodeExample"> # the secret with access permissions to the private registry must be manually created and encrypted in Base64</span><br />
|
||||
<span class="f_CodeExample"> pullSecrets:</span><br />
|
||||
<span class="f_CodeExample"> - myRegistryKeySecretName</span></p>
|
||||
<p class="p_Normal"> </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<h2 class="p_Heading2"><a id="install-chart" class="hmanchor"></a><span class="f_Heading2">Step 3: Install the DB-Gateway chart using Helm in the Kubernetes cluster</span></h2>
|
||||
<p class="p_Normal">Install the DB-Gateway chart in the <code><b>namespace dbgateway</b></code>.</p>
|
||||
<p class="p_Normal">To install via the internet, run the command:</p>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install dbgateway elma365/dbgateway -f values-dbgateway.yaml -n dbgateway --create-namespace </span></p>
|
||||
<p class="p_Normal">To install without internet access, run the command:</p>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install dbgateway ./dbgateway -f values-dbgateway.yaml -n dbgateway --create-namespace</span> </p>
|
||||
<h2 class="p_Heading2"><a id="connect-db" class="hmanchor"></a><span class="f_Heading2">Step 4: Connect to databases</span></h2>
|
||||
<p class="p_Normal">In the <code><b>values-elma365.yaml</b></code> configuration file, fill out the parameters for BRIX application to connect to databases via the configured DB‑Gateway:</p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li class="p_Normal">Parameters for connecting to MinIO:<ul style="list-style-type:circle">
|
||||
<li class="p_Normal"><code><b>address</b></code> — specify <code><b>elma365-server.your_domain</b></code>.</li><li class="p_Normal"><code><b>bucket</b></code>, <code><b>region</b></code>, <code><b>access key ID</b></code>, <code><b>secret access key</b></code>, <code><b>upload method</b></code> и <code><b>enable SSL</b></code> — specify values according to the parameters of the DB storage for which proxying is configured.</li></ul>
|
||||
<li class="p_Normal">Parameters for connecting to Redis:</li></ul>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">elma365.db.redisUrl — 'redis://:SecretPassword@redis.dbgateway.svc.cluster.local:6379/0';</span></p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li class="p_Normal">Parameters for connecting to RabbitMQ:</li></ul>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">elma365.db.amqpUrl — 'amqp://elma365user:SecretPassword@rabbitmq.dbgateway.svc.cluster.local:5672/0'</span><br />
|
||||
<span class="f_CodeExample">elma365.db.amqpManagementUrl — 'http://rabbitmq-stats.dbgateway.svc.cluster.local:15672';</span></p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li class="p_Normal">Parameters for connecting to PostgreSQL:</li></ul>
|
||||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">elma365.db.psqlUrl — 'postgresql://elma365user:SecretPassword@postgresql.dbgateway.svc.cluster.local:5000/elma365?sslmode=disable'</span><br />
|
||||
<span class="f_CodeExample">elma365.db.roPsqlUrl — 'postgresql://elma365user:SecretPassword@postgresqlro.dbgateway.svc.cluster.local:5001/elma365?sslmode=disable';</span></p>
|
||||
<p class="p_Normal">Read how to fill out these parameters in the <a href="change-settings-enterprise.html#changes-config-file" class="topiclink">Modify BRIX Enterprise parameters</a> article.</p>
|
||||
|
||||
<div class="bottom-nav">
|
||||
|
||||
<a id="prev-link" class="topic__navi_prev" href="haproxy-docs-server.html">
|
||||
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
|
||||
class="bottom-nav__link">haproxy-docs-server.html</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a id="next-link" class="topic__navi_next" href="proxy-s3-kubernetes.html">
|
||||
<span class="bottom-nav__link">proxy-s3-kubernetes.html</span> <span
|
||||
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
|
||||
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
<aside class="article__sidebar" style="display:none">
|
||||
<input type="checkbox" />
|
||||
<div class="article__arrow"></div>
|
||||
<div class="table-of-contents elma365-right" id="toc2Content">
|
||||
<h3 class="h3-toc">In this topic</h3>
|
||||
<nav id="toc2"></nav>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer class="footer">
|
||||
<div class="footer-container">
|
||||
<div class="footer-mobile">
|
||||
|
||||
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="footer-wrap">
|
||||
|
||||
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
|
||||
|
||||
<div class="footer-flex-b">
|
||||
<span class="footer-copy">© 2025 BRIX</span>
|
||||
<ul class="footer-list">
|
||||
|
||||
<li class="footer-item">
|
||||
<a href="#" class="arrow-top" style="display: block;"></a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
<iframe name="hmnavigation" style="display:none!important"></iframe>
|
||||
<script src="./jquery-ui.js"></script>
|
||||
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
|
||||
<script src="./jquery.tocify.min.js"></script>
|
||||
<script src="./TypoReporter.min.js"></script>
|
||||
<script src="./google-search.js"></script>
|
||||
<script src="./main.js"></script>
|
||||
<script type="text/javascript">
|
||||
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
|
||||
HMInitToggle('TOGGLE0186A2','hm.type','dropdown','hm.state','0');
|
||||
HMInitToggle('TOGGLE0186A3','hm.type','dropdown','hm.state','0');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue
Block a user