Перейти к содержанию

Установка Логин Центра с помощью helm

Общая информация

Warning

Установка с помощью helm поддерживается с версии s-1.200.27.28 и d-1.300.0.104 для версий 1.200 и 1.300 соответственно.

Info

  • - путь до директории с установщиком LC
  • - путь до директории с манифестом

LC на платформе helm разворачивается на предварительно установленном k3s. При запуске инсталлятора он получает передаваемые параметры из манифеста передает их в values.yaml и пытается установить chart в текущий контекст по пути /etc/rancher/k3s/k3s.yaml

Предварительная подготовка

Подключаемся к серверу через ssh протокол.

Переходим в аккаунт root с помощью команды

sudo su

Затем скачиваем дистрибутив Логин Центра через терминал, если предоставлена прямая ссылка на nextcloud optimacros то с помощью команды:

mkdir -p <path_to_lc_installer>
cd <path_to_lc_installer>
wget <direct_link>/download -O ИМЯ_ФАЙЛА.С_РАСШИРЕНИЕМ`

Сертификаты

Файлы должны называться bundle.crt и crt.key соответственно.

Подготовленные сертификаты

Если у вас уже есть заранее подготовленные сертификаты, переименуйте их и переместите в нужную директорию, например:

mv /home/username/company-certificate.crt <path_to_lc>/data/nginx/cert/bundle.crt
mv /home/username/company-certificate-key.key <path_to_lc>/data/nginx/cert/crt.key

Генерация самоподписанных сертификатов

Либо можно сгенерировать самоподписанные сертификаты:

cd <path_to_lc>/data/nginx/cert/
openssl req -newkey rsa:2048 -nodes -keyout crt.key -x509 -days 1095 -out bundle.crt

Ответьте на вопросы, которые задаст программа генерации

Установка вспомогательного ПО helm и k3s

Установка проводилась на ubuntu 24.04

helm

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

k3s.

curl -sfL https://get.k3s.io | sh -

Подготовка манифеста

vim <path_to_lc>/manifest.yml
Согласно документации Описание полей manifest.yml файла

Пример манифеста

main:
  app: "login-center"
  version: ""
  publicHostname: "lc.my-company.com"
initialization:
  adminUsername: "admin@mycompany.com"
  adminPassword: "pass"
  firstWorkspaceName: "workspace1"
  firstWorkspaceHostname: "ws.my-company.com"
  auditMinKeepDuration: "0"
  allowUIAddUsers: true
mongo:
  version: "4.4.29"
  dbUsername: "logincenter"
  dbPassword: "pass"
redis:
  version: "7.2.4-alpine"
  username: ""
  password: "pass"
  host: "redis"
  port: "6379"
nginx:
  version: "1.28-alpine3.21"
  workspaceProxyUrl: "https://ws.mycompany.com"
postgres:
  version: "17.2-alpine"
  dbUsername: "logincenter"
  dbPassword: "pass"
exportService:
  allowExport: ""
constraints:
  concurrentSessionsLimit: "0" # if 0 or not set => no limit
syslog:
  enabled: "true"
  messageFormat: "RFC5424"
  eventsStoreInMinutes: "3"
  sendEverySeconds: "15"
  hostIp: "1.2.3.4" # ip syslog сервера
  port: "6514"
  rootCaPath: "/certs/ca.pem"
  clientCertPath: "/certs/client.crt"
  clientKeyPath: "/certs/server.key"
  hostId: "syslog.my-company.com"
nats:
  password: "pass" # пароль > 22 символов
  systemPassword: "pass" # пароль > 22 символов
node:
  extraCaCerts: ""
namespace: <ns-name>
nodeName: k3s_instance_hostname

Для поля пароля базы данных (mongo.dbPassword), с помощью любого генератора паролей, сгенерируйте надёжный пароль длиной не более 20 символов.

Warning

Важно: пароль не должен содержать символов @:;/% - это приведет к багу установки.

Также необходимо сгенерировать пароли для полей секции nats - password и systemPassword. Их длина должна быть не менее  22 символов.

Поле publicHostname в секции main должно быть заполнено значением доменного имени сервера, где будет работать LC вместо "defaulthost.com".

Установка

Создайте namespace

Warning

Обязательное условие иначе установка закончится с ошибкой

kubectl create namespace <ns-name>

Теперь когда есть подготовленные манифест, сертификаты и дистрибутив, перейдите к установке LC. Для этого перейдите в директорию со скачанным ранее дистрибутивом, например, с помощью команды:

cd <path_to_lc_installer>

Выдайте файлу права на исполнение с помощью команды

chmod +x login-center-версия.sh

Запустите инсталлятор с помощью команды

./login-center-версия.sh -- -p helm -n <ns-name> -v <k3s_instance_hostname>

После установки проверьте запущенные поды командой

kubectl get pods -A

Пример вывода команды (список подов и кол-во может отличаться в зависимости от версии):

lc1           login-center-access-586758889d-rlpzs            1/1     Running     0               4d23h
lc1           login-center-audit-756dbb5c7d-cmtfn             1/1     Running     0               4d23h
lc1           login-center-authentication-598988cbf8-k4dnf    1/1     Running     0               4d23h
lc1           login-center-core-68845f679c-7c5zv              1/1     Running     0               4d23h
lc1           login-center-db-78488d7bb-4vv7p                 1/1     Running     0               4d23h
lc1           login-center-export-service-5978cd9545-zdjfk    1/1     Running     0               4d23h
lc1           login-center-frontend-c8b6bc87-bbxvs            1/1     Running     1 (4d23h ago)   4d23h
lc1           login-center-frontend-gateway-8496cfc89-z5xs6   1/1     Running     0               4d23h
lc1           login-center-nats-f8947fd9c-47lrr               1/1     Running     0               4d23h
lc1           login-center-nginx-649fd5c77-jgd5r              1/1     Running     0               4d23h
lc1           login-center-openid-cc887677-tldcm              1/1     Running     1 (4d23h ago)   4d23h
lc1           login-center-postgres-5f44cd58d6-42b7j          1/1     Running     0               4d23h
lc1           login-center-public-gateway-7858bc548b-flj7p    1/1     Running     1 (4d23h ago)   4d23h
lc1           login-center-redis-74c5cdd788-twhgz             1/1     Running     0               4d23h
lc1           login-center-resource-7bbb5448c4-mnlcv          1/1     Running     0               4d23h
lc1           login-center-rolemapper-6c74458c98-qp5t7        1/1     Running     0               4d23h
lc1           login-center-service-gateway-ff76bbb44-xj4nj    1/1     Running     0               4d23h
lc1           login-center-service-monitor-5b64986b94-mdb8f   1/1     Running     0               4d23h
lc1           login-center-syslog-858f9469b7-zd7hq            1/1     Running     0               4d23h
lc1           login-center-workspaceapi-cb95f8ccd-6bv6b       1/1     Running     0               4d23h

Можно проверить результат установки в браузере введя имя логин центра

lc_index.png