All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s
320 lines
37 KiB
HTML
320 lines
37 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<title>Install BRIX to Kubernetes</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="Начало внимание This article provides deprecated instructions for BRIX On-Premises. For an up-to-date installation in Kubernetes, refer to Install BRIX Enterprise. Конец..." />
|
||
<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> > Other / Install BRIX to Kubernetes</p>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Install BRIX to Kubernetes</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_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало внимание</span></p>
|
||
<p class="p_Normal" style="line-height: 1.57;">This article provides deprecated instructions for BRIX On-Premises. For an up-to-date installation in Kubernetes, refer to <a href="installing-elma365-enterprise.html" class="topiclink">Install BRIX Enterprise</a>.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Конец внимание</span></p>
|
||
<p class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px;">BRIX On-Premises can be deployed using Helm v.3 to an existing Kubernetes cluster.</span></p>
|
||
<p class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px;">The installed cluster version must support Kubernetes API version 1.21 or higher. Proxying from pods to the external network must also be enabled.</span></p>
|
||
<p class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px;">The BRIX comes as two Helm charts that are installed one by one:</span></p>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px; font-weight: bold;">elma365-dbs</span><span style="font-size: 15px;">. This chart includes a set of databases and data storages necessary for BRIX operation. You can also use custom PostgreSQL, MongoDB, Redis, and RabbitMQ databases and S3 object storage. In this case, you need to specify the connection strings for the </span><code><b>values</b></code><span style="font-size: 15px;"> </span><span style="font-weight: bold;">elma365</span><span style="font-size: 15px;"> chart. Please note, that you can disable the installation of the corresponding components in the </span><code><b>values-dbs.yaml</b></code><span style="font-size: 15px;"> file by setting their values to </span><code><b>false</b></code>. For example, for PostgreSQL<span style="font-size: 15px;">: </span><code><b>global.postgresql.enabled</b></code><span style="font-size: 15px;">. If all five components of the chart are set to </span><code><b>false</b></code><span style="font-size: 15px;">, the chart does not need to be installed. Learn more about connecting to databases in <a href="postgresql.html" class="topiclink">Prepare external databases</a>;</span></li><li class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px; font-weight: bold;">elma365</span><span style="font-size: 15px;">.</span><span style="font-size: 15px; font-weight: bold;"> </span><span style="font-size: 15px;">This chart contains BRIX.</span></li></ul>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало внимание</span></p>
|
||
<p class="p_Normal">Please note, that <span style="font-weight: bold;">elma365-extension</span> charts are no longer supported. You can switch to <span style="font-weight: bold;">elma365-dbs</span> with new versions of databases by creating a dump and restoring it.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец внимание</span></p>
|
||
<h2 class="p_Heading2"><a id="download-links" class="hmanchor"></a><span class="f_Heading2">Helm chart download links</span></h2>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px; font-weight: bold;">elma365-dbs</span><span style="font-size: 15px; color: #4d5156; background-color: #ffffff;">:</span><span style="font-size: 15px;"> </span><a href="https://dl.elma365.com/onPremise/latest/elma365-dbs-latest.tar.gz" class="weblink">https://dl.elma365.com/onPremise/latest/elma365-dbs-latest.tar.gz</a></li></ul>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px; font-weight: bold;">elma365</span><span style="font-size: 15px;">: <a href="https://dl.elma365.com/onPremise/latest/elma365-latest.tar.gz" class="weblink">https://dl.elma365.com/onPremise/latest/elma365-latest.tar.gz</a></span></li></ul>
|
||
<p class="p_Normal" style="line-height: 1.57;">For more information about BRIX download links, see <a href="links-for-install-elma365.html#links-for-install-helm-offline" class="topiclink">Links for downloading BRIX distribution packages</a>.</p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Install the elma365-dbs chart</span></h2>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">Fill out the variables in the <code><b>values-dbs.yaml</b></code> file. If you are using custom databases, you can disable the installation of the databases included in the package by default.</li><li value="2" class="p_Normal">If a specific <code><b>namespace</b></code> needs to be created, include it in all the installation commands.</li><li value="3" class="p_Normal">Run the following command: </li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install elma365-dbs ./elma365-dbs -f values-dbs.yaml [-n namespace]</span></p>
|
||
<p class="p_Normal">Please note, that arguments in square brackets are optional. If you use such an argument, specify it without brackets.</p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Install the elma365 chart</span></h2>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">Fill out the variables in the in the <code><b>values-elma365.yaml</b></code> file.</li><li value="2" class="p_Normal">If you need to restore the dump, you can use the <a href="database-backup-and-recovery.html" class="topiclink">elma365-backupper</a> utility or run the <code><b>elma365db.sh</b></code> script from the <span style="font-weight: bold;">elma365 </span>chart before installing BRIX.</li></ol>
|
||
<p class="p_Normal" style="text-indent: -1px; margin: 0 0 0 36px;">Script example:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">./elma365db.sh --restore --namespace elma365 --path /backup/path/ [--kubeconfig /path/to/config --context prod]</span></p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="3" style="line-height: 1.57; margin-top: 0; margin-right: 0; margin-bottom: 0;">Run the following command to install the chart: </li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install elma365 ./elma365 -f values-elma365.yaml --timeout=30m --wait [-n namespace]</span></p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="4" class="p_Normal">Save the <code><b>values-elma365.yaml</b></code> file for future updates.</li><li value="5" class="p_Normal">You can use the <a href="database-backup-and-recovery.html" class="topiclink">elma365-backupper</a> utility or the <code><b>elma365db.sh</b></code> script to create a dump.</li></ol>
|
||
<p class="p_Normal" style="text-indent: -1px; margin: 0 0 0 36px;">Script example:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">./elma365db.sh --dump --namespace elma365 --path /backup/path/ [--kubeconfig /path/to/config --context prod]</span></p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Install monitoring tools (optional)</span></h2>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">Download the Helm chart of the optional addons toolset at:<span style="font-size: 15px;"> </span><span style="font-size: 15px; background-color: #ffffff;"><a href="https://dl.elma365.com/onPremise/latest/addons-latest.tar.gz" target="_blank" class="weblink">https://dl.elma365.com/onPremise/latest/addons-latest.tar.gz</a>.</span></li><li value="2" class="p_Normal">In the <code><b>values-addons.yaml</b></code> file in <code><b>grafana</b></code> and <code><b>kube-prometheus-stack</b></code> blocks, specify the <code><b>namespace</b></code> for the monitoring service, for example <code><b>namespaceOverride: monitoring</b></code>,and the address that the monitoring service will be available at.</li><li value="3" class="p_Normal">Create a <code><b>namespace</b></code> for the monitoring service:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl create namespace monitoring</span></p>
|
||
<ol style="list-style-type:upper-roman" start="4">
|
||
<li value="4" class="p_CodeExample" style="page-break-inside: avoid;">Install the chart using the following command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install addons ./addons -f values-addons.yaml</span></p>
|
||
<ol style="list-style-type:upper-roman" start="5">
|
||
<li value="5" class="p_CodeExample" style="page-break-inside: avoid;">In the <code><b>values-elma365.yaml</b></code> file of the <span style="font-weight: bold;">elma365</span> chart, enable dashboards:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">dashboard:</span><br />
|
||
<span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="font-weight: bold;">tru</span>Update the BRIX application using the following command<span style="font-size: 15px; color: #394149;">:</span></p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade elma365 ./elma365 -f values-elma365.yaml --timeout=30m</span></p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Install Linkerd and autoscaling services (optional)</span></h2>
|
||
<p class="p_Normal" style="line-height: 1.32;"><span style="font-size: 15px; font-weight: bold; color: #394149;">Linkerd</span><span style="font-size: 15px; color: #394149;"> is a dedicated infrastructure layer that controls service-to-service communication, automatically encrypts connection, and processes request retries and timeouts. It also provides telemetry (success or delay rate) and many other features.</span></p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal" style="line-height: 1.32;"><span style="font-size: 15px; color: #394149;">Download the </span><span style="font-size: 15px; font-weight: bold; color: #394149;">addons</span><span style="font-size: 15px; color: #394149;"> helm chart using a <a href="install-kubernetes.html#download-links" class="topiclink">Helm chart download link</a>.</span></li><li value="2" class="p_Normal" style="line-height: 1.32;"><span style="font-size: 15px; color: #394149;">Generate certificates using </span><code><b>openssl</b></code><span style="font-size: 15px; color: #394149;"> by running the commands listed below. Linkerd requires a trust anchor certificate and an issuer certificate with its corresponding key to support TLS connections between services. All certificates must use the ECDSA P-256 algorithm.</span></li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample"># Generate a CA private key</span><br />
|
||
<span class="f_CodeExample">openssl ecparam -name prime256v1 -genkey -noout -out ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem</span><br />
|
||
<span class="f_CodeExample"> </span><br />
|
||
<span class="f_CodeExample"># Generate a CA public ke</span><br />
|
||
<span class="f_CodeExample">openssl ec -</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample"> ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem -pubout -out ca-</span><span class="f_CodeExample" style="font-weight: bold;">public</span><span class="f_CodeExample">.pem</span><br />
|
||
<span class="f_CodeExample"> </span><br />
|
||
<span class="f_CodeExample"># Generate a self-signed CA certificate</span><br />
|
||
<span class="f_CodeExample">openssl req -x509 -</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample"> -key ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem -days 365 -out ca.crt -subj "/CN=root.linkerd.cluster.local"</span><br />
|
||
<span class="f_CodeExample"># Generate an issuer private key</span><br />
|
||
<span class="f_CodeExample">openssl ecparam -name prime256v1 -genkey -noout -out issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem</span><br />
|
||
<span class="f_CodeExample"> </span><br />
|
||
<span class="f_CodeExample"># Generate an issuer public key</span><br />
|
||
<span class="f_CodeExample">openssl ec -</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample"> issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem -pubout -out issuer-</span><span class="f_CodeExample" style="font-weight: bold;">public</span><span class="f_CodeExample">.pem</span><br />
|
||
<span class="f_CodeExample"> </span><br />
|
||
<span class="f_CodeExample"># Generate a certificate signing request</span><br />
|
||
<span class="f_CodeExample">openssl req -</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample"> -key issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem -out issuer.csr -subj "/CN=identity.linkerd.cluster.local" -addext basicConstraints=critical,CA:TRUE</span><br />
|
||
<span class="f_CodeExample"> </span><br />
|
||
<span class="f_CodeExample"># Generate an issuer certificate by signing the request</span><br />
|
||
<span class="f_CodeExample">openssl x509 \</span><br />
|
||
<span class="f_CodeExample"> -extfile /etc/ssl/openssl.cnf \</span><br />
|
||
<span class="f_CodeExample"> -extensions v3_ca \</span><br />
|
||
<span class="f_CodeExample"> -req \</span><br />
|
||
<span class="f_CodeExample"> -</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample"> issuer.csr \</span><br />
|
||
<span class="f_CodeExample"> -days 180 \</span><br />
|
||
<span class="f_CodeExample"> -CA ca.crt \</span><br />
|
||
<span class="f_CodeExample"> -CAkey ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem \</span><br />
|
||
<span class="f_CodeExample"> -CAcreateserial \</span><br />
|
||
<span class="f_CodeExample"> -extensions v3_ca \</span><br />
|
||
<span class="f_CodeExample"> -out issuer.crt</span><br />
|
||
<span class="f_CodeExample"># Delete the signing request</span><br />
|
||
<span class="f_CodeExample">rm issuer.csr</span></p>
|
||
<ol style="list-style-type:upper-roman" start="3">
|
||
<li value="3" class="p_CodeExample" style="page-break-inside: avoid;"><span style="font-size: 15px; color: #394149;">Enable paramter </span><code><b>linkerd2</b></code><span style="font-size: 15px; color: #394149;"> in the </span><code><b>values-addons.yaml</b></code><span style="font-size: 15px; color: #394149;"> file of the </span><span style="font-size: 15px; font-weight: bold; color: #394149;">addons </span><span style="font-size: 15px; color: #394149;">chart:</span></li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">linkerd2:</span><br />
|
||
<span class="f_CodeExample"> enabled:</span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
|
||
<ol style="list-style-type:upper-roman" start="4">
|
||
<li value="4" class="p_Normal">In <code><b>linkerd2</b></code>, specify the needed <code><b>namespace</b></code> form the Linkerd service (for example, <code><b>namespace: linkerd</b></code>) the content of the certificates and the key, and the certificate’s expiry date (<code><b>crtExpiry</b></code>). Please note, that the value has to be the same as the issuer certificate’s expiry date.</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">identityTrustAnchorsPEM: |</span><br />
|
||
<span class="f_CodeExample"> -----BEGIN CERTIFICATE-----</span><br />
|
||
<span class="f_CodeExample"> ca.crt certificate content</span><br />
|
||
<span class="f_CodeExample"> -----END CERTIFICATE-----</span><br />
|
||
<span class="f_CodeExample"> identity:</span><br />
|
||
<span class="f_CodeExample"> issuer:</span><br />
|
||
<span class="f_CodeExample"> crtExpiry: 2023-03-30T05:28:39Z</span><br />
|
||
<span class="f_CodeExample"> tls:</span><br />
|
||
<span class="f_CodeExample"> crtPEM: |</span><br />
|
||
<span class="f_CodeExample"> -----BEGIN CERTIFICATE-----</span><br />
|
||
<span class="f_CodeExample"> issuer.crt certificate content </span><br />
|
||
<span class="f_CodeExample"> -----END CERTIFICATE-----</span><br />
|
||
<span class="f_CodeExample"> keyPEM: |</span><br />
|
||
<span class="f_CodeExample"> -----BEGIN EC PRIVATE KEY-----</span><br />
|
||
<span class="f_CodeExample"> issuer-private.pem certificate content </span><br />
|
||
<span class="f_CodeExample"> -----END EC PRIVATE KEY-----</span></p>
|
||
<ol style="list-style-type:upper-roman" start="5">
|
||
<li value="5" class="p_CodeExample" style="page-break-inside: avoid;"><span style="font-size: 15px; color: #394149;">Install the chart using the following command:</span></li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install addons ./addons -f values-addons.yaml</span></p>
|
||
<ol style="list-style-type:upper-roman" start="6">
|
||
<li value="6" class="p_Normal">Add an annotation to the <code><b>namespace</b></code> with the BRIX application to automatically inject <span style="font-weight: bold;">Linkerd-proxy</span> containers into BRIX services:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl annotate namespace default linkerd.io/inject=enabled</span></p>
|
||
<ol style="list-style-type:upper-roman" start="7">
|
||
<li value="7" class="p_Normal">Enable autoscaling of services using the <code><b>autoscaling</b></code> parameter in the <code><b>values-elma365.yaml</b></code> file from the <span style="font-weight: bold;">elma365 </span>chart:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">autoscaling:</span><br />
|
||
<span class="f_CodeExample"> enabled:</span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
|
||
<ol style="list-style-type:upper-roman" start="8">
|
||
<li value="8" class="p_CodeExample" style="page-break-inside: avoid;"><span style="font-size: 15px; color: #394149;">Update the BRIX application using the following command:</span></li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade elma365 ./elma365 -f values-elma365.yaml --timeout=30m</span></p>
|
||
<ol style="list-style-type:upper-roman" start="9">
|
||
<li value="9" class="p_Normal" style="line-height: 1.20;">Restart all services with the following command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl rollout restart deploy [-n namespace] && kubectl rollout restart ds [-n namespace]</span></p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Install NodeLocal DNS Cache (optional)</span></h2>
|
||
<p class="p_Normal">Installing <code><b>NodeLocal DNS Cache</b></code> helps to reduce the DNS query load in the Kubernetes cluster and make DNS lookup more consistent. This allows you to avoid DNAT rules, connection tracking, and restrictions on the number of connections.</p>
|
||
<p class="p_Normal">To install: </p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">Download the <span style="font-weight: bold;">addons</span> Helm chart at: <span style="font-size: 15px; background-color: #ffffff;"><a href="https://dl.elma365.com/onPremise/latest/addons-latest.tar.gz" target="_blank" class="weblink">https://dl.elma365.com/onPremise/latest/addons-latest.tar.gz</a>.</span></li><li value="2" class="p_Normal">Get the IP address of the <span style="font-weight: bold;">kube-dns</span> service:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl get svc kube-dns -n kube-system -o jsonpath={.spec.clusterIP}</span></p>
|
||
<ol style="list-style-type:upper-roman" start="3">
|
||
<li value="3" class="p_Normal">In the <span style="font-weight: bold;">addons</span> chart in file <code><b>values-addons.yaml</b></code> in <code><b>node-local-dns</b></code> configure the following parameters:</li></ol>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal"><code><b>pillar_dns_domain</b></code> is the cluster domain;</li><li class="p_Normal"><code><b>pillar_dns_server</b></code> is the IP address of the kube-dns service;</li><li class="p_Normal"><code><b>pillar_local_dns</b></code> is the local IP address for NodeLocal DNS Cache. </li></ul>
|
||
<ol style="list-style-type:upper-roman" start="4">
|
||
<li value="4" class="p_Normal">Install the chart by running the following command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install addons ./addons -f values-addons.yaml</span></p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Update BRIX to a new version</span></h2>
|
||
<p class="p_Normal">In the new chart, replace the <code><b>values-elma365.yaml</b></code> file with the one that was saved during the installation. Then run the following command:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install elma365 ./elma365 -f values-elma365.yaml --timeout=30m --wait [-n namespace]</span></p>
|
||
<p class="p_Normal">If database connection strings are changed during the update, restart all services using the following command:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl rollout restart deploy [-n namespace] && kubectl rollout restart ds [-n namespace]</span></p>
|
||
<h2 class="p_Heading2"><span class="f_Heading2">Uninstall</span></h2>
|
||
<p class="p_Normal">You can delete the charts by running the following commands:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm uninstall elma365 [-n namespace]</span><br />
|
||
<span class="f_CodeExample">helm uninstall elma365-dbs [-n namespace] </span></p>
|
||
|
||
<div class="bottom-nav">
|
||
|
||
<a id="prev-link" class="topic__navi_prev" href="elma365-stack.html">
|
||
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
|
||
class="bottom-nav__link">elma365-stack.html</span>
|
||
</a>
|
||
|
||
|
||
<a id="next-link" class="topic__navi_next" href="kubernetes-air-gap.html">
|
||
<span class="bottom-nav__link">kubernetes-air-gap.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>
|
||
</body>
|
||
|
||
</html>
|