Руководство по установке для тестовых сред EVPC#
Предусловия подготовки окружения для развертывания компонента EVPC#
ВАЖНО! Для выполнения установки необходимо иметь доступ к узлу, с которого будет осуществляться установка — локально или по SSH под пользователем, имеющим на узле права администратора (находящимся в группе wheel), либо под пользователем root.
Также необходимо уметь пользоваться консолью для выполнения команд.
В случае, если для выполнения какой-либо команды ниже не хватает прав Вашего пользователя — необходимо повторить команду, добавив к ней в начале sudo. Например:
sudo yum -y install unzip
Также желательно уметь пользоваться оболочками, подобными Far или Midnight Commander, для навигации и работы с файлами.
ВАЖНО! Данная инструкция реализована для узла с ОС Linux CentOS 8.0 и выше, имеющего доступ к сети Интернет. Менеджеры пакетов на других версиях Linux и способы их установки в корпоративных сетях могут отличаться.
Проверка версии Linux:
cat /etc/*-release
Первая строка вывода покажет версию (например: «CentOS Linux release 8.1.1911 (Core)»).
ВАЖНО! Описана установка компонента EVPC в среде контейнеризации с транспортом Kafka. В качестве среды контейнеризации использовался Kubernetes версии 1.22.2.
Подробная информация по типам транспорта описана в документе Руководство пользователя EVPC, в разделе «Описание источников событий».
ВАЖНО! Предполагается, что все упомянутые ниже произвольные текстовые метки содержат буквы только латинского алфавита. Использование алфавитов других языков не проверялось.
Предварительно необходимо иметь репозиторий, куда можно будет выложить образ EVPC для установки (например, Nexus).
До репозитория должен быть сетевой доступ с узла, с которого будет осуществляться установка EVPC.
В репозитории должен быть заранее создан пользователь с правами на чтение и запись, для которого известны логин и пароль.
В репозитории должен присутствовать Ваш собственный базовый образ для сборки контейнеров. Путь до него должен быть известен.
Пример пути до базового образа: example.space/example-base/redhat/openjdk-11-rhel8:1.0-8.
Необходимо иметь готовый кластер Kubernetes.
До кластера должен быть сетевой доступ с машины, с которой будет осуществляться установка EVPC.
Необходимо также иметь пользовательский доступ к управлению кластером, позволяющий:
получить метаданные кластера в виде файла
kubeconfig;создать пространство (namespace) с произвольным именем, где требуется развернуть EVPC. Namespace желательно создать заранее. Также его можно будет создать позже.
Для передачи сообщений с транспортом Kafka должен быть предварительно развернут кластер Kafka.
До кластера должен быть сетевой доступ от кластера Kubernetes.
На кластере должны быть созданы топики.
На данные топики должны быть выданы соответствующие права для DN сертификата.
Подготовка узла, с которого будет осуществляться установка#
Необходимо подключиться к узлу, с которого будет осуществляться установка, по SSH или локально под пользователем, имеющим на узле права администратора (находящимся в группе wheel), либо под пользователем
root.
Для входа по SSH с локальной машины необходимо:
запустить локальный терминал (консоль);
ввести в командной строке:
ssh <имя_пользователя>@<ip_адрес_узла>
где <имя_пользователя> — логин пользователя, под которым необходимо зайти на удаленный узел. Например: ssh example@{ IP_ADDRESS };
после ввода в консоли будет запрошен пароль. Необходимо ввести пароль пользователя, под которым необходимо зайти на удаленный узел (процесс ввода пароля в консоли никак не будет отображаться) и нажать enter (для mac - return).
Сразу после подключения по SSH произойдет переход в домашнюю директорию пользователя, под которым выполнено подключение.
Необходимо выбрать директорию, откуда будет осуществляться установка.
Это может быть домашняя директория пользователя, с учетной записи которого осуществляется установка.
Рекомендуется создать в домашней директории специальную поддиректорию (например, «evpc») и далее работать в ней. Далее по тексту данная директория будет упоминаться как «основная рабочая директория».
Для создания директории выполнить команду mkdir:
mkdir ~/evpc
Проверить успешность создания директории по команде:
ls -la
В выведенном списке визуально найти созданную директорию.
Перейти в данную директорию по команде:
cd evpc
Необходимо проверить наличие пакета
pythonи его версию.
Выполнить команду:
python3 --version
При наличии пакета будет выведено сообщение вида «Python 3.6.8».
При отсутствии пакета будет выведено сообщение о неизвестной команде вида «-bash: python3: command not found».
Если python3 отсутствует, то необходимо проверить наличие версий ниже, выполнив команду:
python2 --version
или
python --version
Если не обнаружено никакой версии, то необходмо установить Python версии 2.7.18.
Установка производится в 2 этапа:
исправление проблемы с репозиториями пакетов в Linux CentOS 8.0 выполняется командами:
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
установка Python выполняется командой:
sudo dnf module install python27
Проверить наличие пакета
unzip.
Для проверки выполнить команду:
unzip
При наличии пакета будет выведена справка об аргументах.
При отсутствии пакета будет выведено сообщение о неизвестной команде.
При отсутствии пакета выполнить команду:
sudo yum -y install unzip
Проверить наличие пакета
openjdk-21.
Для этого выполнить команду:
java -version
При наличии пакета будет выведено сообщение вида:
openjdk 21.0.3 2024-04-16 LTS
OpenJDK Runtime Environment (SBERTECH-21.0.3.0.9-1) (build 21.0.3+9-LTS)
OpenJDK 64-Bit Server VM (SBERTECH-21.0.3.0.9-1) (build 21.0.3+9-LTS, mixed mode, sharing)
При отсутствии пакета будет выведено сообщение о неизвестной команде.
При отсутствии пакета выполнить команду:
yum -y install java-21-openjdk
Проверить наличие переменной
JAVA HOME.
Для проверки выполнить команду:
set | grep JAVA_HOME
Если вывод пустой, значит переменная не установлена.
Вывод вида JAVA_HOME=<какое-то_непустое_значение> говорит о том, что переменная уже установлена (например, JAVA_HOME=/usr/lib/jvm/java-21-openjdk-21.0.3.0.9-1.sl8.1.x86_64).
Если переменная не установлена, то выполнить команды:
sudo echo "export JAVA_HOME=\$(dirname \$(dirname \$(realpath \$(which java))))" > /etc/profile.d/java.sh
sudo source /etc/profile.d/java.sh
Проверить результат можно командой:
set | grep JAVA_HOME
Должен быть получен успешный вывод.
Проверить наличие оболочки Midnight Commander.
Для проверки выполнить команду:
mc
При наличии оболочки откроется окно Midnight Commander с отображением содержимого текущей директории.
При отсутствии — в консоли будет выведено сообщение о неизвестной команде.
При отсутствии Midnight Commander выполнить команду для установки:
sudo yum install -y mc
Проверить результат, выполнив команду:
mc
Для дальнейшей работы выполняются команды:
control + o— свернуть/показать окно Midnight Commander;F10 — закрыть Midnight Commander.
Одновременно может быть открыто только одно окно Midnight Commander. Ввод в консоли команды mc при свернутом окне запущенного Midnight Commander приведет к появлению окна с текстом «Warning! GNU Midnight Commander is already running on this terminal. Subshell support will be disabled». В этом окне нужно нажать «Ок» и штатно работать дальше.
Установить
groovy.
Для этого выполнить команду:
curl -O https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/apache-groovy-binary-3.0.18.zip
В результате в текущей директории появится файл apache-groovy-binary-3.0.18.zip.
Далее его необходимо разархивировать, для этого выполнить команду:
unzip apache-groovy-binary-3.0.18.zip
В результате чего в текущей директории появится директория groovy-3.0.18.
Проверить можно командой:
./groovy-3.0.18/bin/groovy
В результате будет выведена справка по ключам утилиты.
Установить
Docker.
Проверить наличие docker командой:
docker --version
Успешный вывод имеет вид, схожий с «Docker version 24.0.5, build ced0996».
При отсутствии docker будет выведено сообщение о неизвестной команде.
В случае отсутствия docker для установки выполнить последовательность команд:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker --version
После успешной установки выполнить вход в репозиторий образов (чтобы позже была возможность выкачать базовый образ), выполнив команду:
docker login <имя_репозитория>
где <имя_репозитория> имеет вид полного пути, например: «example.space/example_dev/ci90000050_synse_dev/evpc».
После выполнения команды будут запрошены последовательно логин и пароль для входа в подготовленный заранее репозиторий образов (подробнее описано в подразделе «Предусловия подготовки окружения»).
Получение и склейка дистрибутива#
Поместить в основную рабочую директорию полный дистрибутив продукта (архив с именем
EM-*-distrib.zip).
Для отправки на сервер дистрибутива с локального компьютера в случае подключения по SSH можно использовать локальный SCP/SFTP-клиент (например, Far).
Либо использовать команду:
scp <источник_передачи> <целевая_точка>
Формат команды:
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
При вводе команды с терминала локального компьютера для источника передачи не указывается имя пользователя и адрес хоста, указывается только полный путь до файла, который нужно передать.
Поэтапно разархивировать дистрибутив. На сервере из директории, куда был помещен дистрибутив продукта, выполнить последовательность команд:
unzip EM-*-distrib.zip
unzip EM-*-owned-distrib.zip
unzip dependency-resolver-*-distrib.zip
В результате в данной директории помимо всего прочего появится директория src.
Произвести склейку дистрибутива. Для этого выполнить команду:
./groovy-3.0.18/bin/groovy -cp ./src merge.groovy --report ./Report.json EM-*-party-distrib.zip EM-*-owned-distrib.zip
ВАЖНО! Сохранять последовательность party-, owned- архивов в команде выше.
ВАЖНО! Чтобы команда отработала «as is», директория groovy-3.0.18 и дистрибутив EM (п.1) должны располагаться в одной общей родительской директории (если все рекомендации выше соблюдены). Если это не так, то в начале команды нужно вместо «./groovy-3.0.18/bin/groovy» задать корректный полный путь до groovy от корня файловой системы.
Далее необходимо распаковать получившийся единый архив, выполнив команду:
unzip -o EM-*-owned-distrib.zip
Создание и заливка docker-образа EVPC#
Перейти в директорию, где лежит Dockerfile.
Для этого выполнить последовательность действий:
Выполнить команду:
unzip -o EVPC-bin-*-distrib.zip
В результате в текущей директории появится директория package. Для проверки можно выполнить команду:
ls -la
Далее перейти во вложенную директорию, выполнив команду:
cd package/docker/eventprocessflowakka
В файле Dockerfile задать свой базовый образ.
ВАЖНО! Требуется базовый образ на Linux CentOS 8.0, java 21.
Открыть Midnight Commander командой mc.
Далее в открывшемся окне установить курсор на файл Dockerfile. Нажать F4, после чего файл Dockerfile откроется на редактирование.
В файле в первой строке в параметре ARG BASE_IMAGE задать расположение базового образа для сборки образа EVPC (по умолчанию указано значение-пример). Наличие в репозитории базового образа является необходимым предусловием установки.
Строка с параметром должна выглядеть примерно так:
ARG BASE_IMAGE=example.space/example-base/redhat/openjdk-21-rhel8:1.0-8
Далее нажать F2 (сохранение файла), нажать esc (выход из файла).
выполнить последовательность команд (ВАЖНО! Точка в командах — это тоже часть команды. Она означает текущую директорию).
Команда:
cp -r ../../bh .
docker build -t <имя_создаваемого_образа>:<версия_создаваемого_образа> .
Пример:
docker build -t test-image:1.0 .
Команда:
docker tag <имя_создаваемого_образа> <имя_репозитория>/<имя_создаваемого_образа>
Пример:
docker tag test-image:1.0 example.space/example_dev/dev/evpc/test-image:1.0
Команда:
docker push <имя_репозитория>/<имя_создаваемого_образа:версия>
Пример:
docker push example.space/example_dev/dev/evpc/test-image:1.0
В результате, если все выполнилось без ошибок, то в репозитории должен появиться созданный образ. Опционально это можно проверить визуально, если есть доступ в графический интерфейс репозитория.
Перейти обратно в основную рабочую директорию.
Для этого выполнить команду:
cd ~/<имя_основной_рабочей_директории>
Проверить можно командой pwd без аргументов. Будет выведен полный путь до текущей директории от корня файловой системы.
Полную ссылку на сформированный образ прописать в файле helm/templates/deployment.yaml как значение параметра
image.
Для этого запустить Midnight Commander командой mc.
Перейти в директорию helm/templates.
Установить курсор на файл deployment.yaml и нажать control + F4. Файл откроется на редактирование.
В файле по пути параметров spec → template → spec → containers → image полностью удалить строку
{{ .Values.registry }}/{{ .Values.registry_path}}/evpc/eventprocessflowakka@sha256: 1641fcb624df1478693ac0b817d117e17e9129089dda4d10d4159e7a1ec35811. Вместо нее указать полную ссылку на созданный образ (п.1). Указывать без кавычек.
Пример:
example.space/example_dev/dev/evpc/test-image: 1.0
Сохранить файл, нажав control + F2. Нажать esc для выхода из файла. Вернуться в основную рабочую директорию с помощью навигации Midnight Commander.
Установка и настройка утилиты kubectl#
Проверить наличие утилиты
kubectl, выполнив команду:
kubectl version
Если данная утилита не установлена, то установить (подробные инструкции по установке на сайте: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management).
Для установки выполнить:
команду:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
Подсказка: копируем все и вставляем в командную строку, нажимаем «enter».
команду:
sudo yum install -y kubectl
Проверяем местоположение и учетные данные, о которых известно
kubectl, с помощью команды:
kubectl config view
Настройки отсутствуют, если получен вывод:
apiVersion: v1
clusters: null
contexts: null
current-context: ""
kind: Config
preferences: {}
users: null
Подключение к кластеру
Kubernetes.
При отсутствии настроек есть 2 способа подключения:
При помощи файла config. Настройки устанавливаются в файле ~/.kube/config. Если директория
/.kubeотсутствует, ее нужно предварительно создать командой:
mkdir -p ~/.kube
Скачать со страницы вашего кластера файл kubeconfig через графический интерфейс. Это и есть нужный файл config, его остается только переименовать и подложить в директорию $HOME/.kube.
Иначе можно добавлять параметры для подключения при помощи команд (https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config):
для указания параметров кластера:
kubectl config set-cluster NAME [--server=server] [--certificate-authority=path/to/certficate/authority] [--insecure-skip-tls-verify=true]
для указания контекста:
kubectl config set-context NAME [--cluster=cluster_nickname] [--user=user_nickname] [–namespace=namespace]
для указания параметров пользователя:
kubectl config set-credentials NAME [--client-certificate=path/to/certfile] [--client-key=path/to/keyfile] [--token=bearer_token] [--username=basic_user] [–password=basic_password]
ВАЖНО! Для выполнения пункта 2 требуется повышенная квалификация по управлению кластером Kubernetes. Пункт приведен в данной инструкции информационно и не является исчерпывающим. Требуется подробное изучение оригинальных инструкций по ссылке. В случае невозможности получить самостоятельно файл config рекомендуем обратиться к администратору кластера Kubernetes.
Убедиться в корректности данных и в том, что они применились, можно, выполнив команду:
kubectl get nodes
При успешном подключении к кластеру Kubernetes будет выведен список кластера(ов) с их статусом.
При отсутствии
namespaceдля развертывания обработчика необходимо его создать, выполнив команду:
kubectl create namespace <имя пространства>
Пример:
kubectl create namespace evpc
Создать
Secretс настройками аутентификации приватного репозитория для извлечения образа компонента EVPC (2 способа):
При помощи файла config.json.
Если имеется docker и вы уже были залогинены в нем (выполнялась команда docker login <regestry_name> --username <user_name> --password <passwort> с нужными настройками подключения к приватному репозиторию (regestry_name, username, password)), то в файле ~/.docker/config.json уже будут заданы нужные настройки.
Если этих настроек нет в файле, либо указанный файл отсутствует, то его необходимо создать.
Пример файла:
{
"auths": {
"https://example.space/test": {
"auth": "<hash>"
}
},
"credsStore": "desktop",
"currentContext": "default"
}
После создания config.json запускаем команду по созданию секрета с именем regcred:
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=~/.docker/config.json \
--type=kubernetes.io/dockerconfigjson \
--namespace=<namespace> (в примере namespace=evpc)
При помощи утилиты
kubectl, выполнив команду:
kubectl create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD
Установка Helm#
Проверить наличие инструмента Helm командой:
helm version
В случае отсутствия — установить, выполнив команду:
wget https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz
Необходимо скачать архив по ссылке: https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz (приведена из инструкции с сайта: https://helm.sh/docs/intro/install/ (переадресация на раздел github с ссылками под разные версии ОС https://github.com/helm/helm/releases, выбрана верcия для Linux i386)).
Разархивировать командой:
tar -zxf helm-v3.12.2-linux-386.tar.gz
Скопировать бинарный файл командой:
cp linux-386/helm /usr/local/bin/helm
Полная оригинальная инструкция по установке Helm: https://helm.sh/docs/intro/install/.
Разархивировать cfg-дистрибутив EVPC (имя архива -
EVPC-cfg-*-distrib.zip, находится в выбранной ранее директории установки.../EM-*-distrib/EM-*-owned-distrib) командой:
unzip EVPC-cfg-*-distrib.zip
Настройка EVPC#
Настройка файла deployment.yaml:#
Блок
spec: containers:
параметр
initialDelaySeconds— указываем количество секунд от старта контейнера до начала liveness или readiness проб. По умолчанию 0 секунд. Минимальное значение 0;параметр
periodSeconds— указываем длительность времени (в секундах) между двумя последовательными проведениями проб. По умолчанию 10 секунд. Минимальное значение 1;параметр
timeoutSeconds— указываем количество секунд ожидания пробы. По умолчанию 1 секунда. Минимальное значение 1;параметр
successThreshold— указываем минимальное количество последовательных проверок, чтобы проба считалась успешной после неудачной. По умолчанию 1. Должна быть 1 для liveness. Минимальное значение 1;параметр
failureThreshold— указываем, когда Pod стартует и проба дает ошибку, Kubernetes будет пытаться failureThreshold раз перед тем, как сдаться. Сдаться в этом случае для liveness пробы означает перезапуск контейнера. В случае readiness пробы Pod будет помечен Unready. По умолчанию 3. Минимальное значение 1;параметр
imagePullPolicy— указываем политику извлечений образов (https://kubernetes.io/docs/concepts/containers/images/);параметр
securityContext— добавить:
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
параметр
image— указываем путь до образа, необходимо добавить хеш сумму своего образа@test:<хэш сумма>.
Блок
spec:
параметр
terminationGracePeriodSeconds— указываем сколько времени будет у приложения на корректное завершение (по умолчанию 30 сек);параметр
dnsPolicy— указываем политику DNS (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ ссылка на виды политик DNS);параметр
securityContext— добавить:
runAsUser: 1000
fsGroup: 1000
параметр
revisionHistoryLimitуказываем ограничение количества старых хранящихся репликасетов (по умолчанию 10);параметр
progressDeadlineSeconds— указываем максимальный тайм-аут (в сек), допустимый для развертывания;параметр
minReadySeconds— указываем время в сек, за которое Kubernetes будет ждать после успешного обновления одного Pod-а.
Настройка файла values.yaml:#
параметр
registry— указываем адрес репозитория до образа;параметр
registry_path— указываем путь в репозитории;параметр
replicas— указываем количество реплик (минимально 2);параметр
pullImage— ТУЗ для подключения к репозиторию образов;параметр
healthCheckPort— указываем порт проверки состояния доступности приложения;параметр
resources— устанавливаем лимиты на память и CPU пода (если блок закомментировать, будут использоваться параметры по умолчанию, настроенные на кластере k8s);параметр
serviceAccountName— указываем имя учетной записи сервиса.
Блок конфигурации обработчика flow:#
параметр
config— указываем имя конфигурационного файла потока обработки;параметр
logLevel— указываем уровень логирования трансформации сообщений;параметр
parallel— указываем количество параллельных потоков обработки для одного экземпляра приложения.
Блок конфигурации обработчикаcommon:#
параметр
batchSize— указывается размер обрабатываемой пачки сообщений;параметр
timeout— указывается тайм-аут обработки пачки сообщений в мс;параметр
queryPartitionsInterval— указывается интервал опроса исходящего топик на количество партиций;параметр
producerFlushInterval— указывается интервал принудительной отправки сообщений в исходящий топик в мс;параметр
secret— указывается секрет для расшифровки паролей конфигурации.
Настройка файла default.json#
В папке helm/conf должен быть файл default.json (настройка транспорта).
Пример файла default.json:
{
"defaults": {
"kafka": {
"bootstrap.servers": "{ IP_ADDRESS }",
"enable.auto.commit": "false",
"group.id": "test-group",
"linger.ms": 0,
"max.poll.records": 1000,
"security.protocol": "SSL",
"ssl.endpoint.identification.algorithm": "",
"ssl.key.password": "enc:<example1>/<example2>/",
"ssl.keystore.location": "ssl/kafka-dev.jks",
"ssl.keystore.password": "enc:<example1>/<example2>",
"ssl.truststore.location": "ssl/kafka-dev.jks",
"ssl.truststore.password": "enc:<example1>/<example2>",
"type": "kafka"
}
}
}
Настройка файлов *.conf и *.tr#
В папке helm/mapping должны быть файлы:
Файл *.conf – файл конфигурации обработчика.
Пример файла flow.conf:
{
source: {
name: "source"
type: "source"
topic: "input"
config: ${ defaults.kafka } {
consumer: {
"group.id": "evpc-test-group"
"client.id": "event-process-flow-client"
}
producer: {
"client.id": "event-process-flow-producer"
}
}
destination: ${transformationStep}
}
destination: {
name: "output"
type: "destination"
topic: "output"
config: ${ defaults.kafka }
}
transformationStep: {
name: "transformation"
type: "dsl"
format: {
input: "json"
output: "json"
}
dsl: {
source: "file"
path: "/eventprocessflowakka/mapping/simple.tr"
}
destination: ${destination}
}
flow: {
name: "EventProcessTest"
source: [${source}]
}
}
Для данной конфигурации должны быть созданы топики Kafka с именами «input» и «output» и правами на чтение/запись.
Файл *.tr – файл с правилами трансформации событий.
Подробнее описано в документации продукта в документе «Руководство пользователя EVPC», раздел «Грамматика правил трансформации».
Пример файла simple.tr:
out = it
Формирование новых конфигураций обработчика описано в документации «Руководство пользователя EVPC», раздел «Создание новых конфигураций обработчиков».
Настройка сертификатов#
Необходимо подложить требуемые для развертывания EVPC сертификаты в директорию helm/ssl. Файлы, находящиеся в данной директории, будут находиться в Secret k8s и будут смонтированы в директорию /eventprocessflowakka/ssl контейнера EVPC.
В случае развертывания обработчика с транспортом Kafka будут необходимы сертификаты для подключения к Kafka.
Так же в данной директории располагается файл, которым будут расшифровываться пароли. Имя файла должно быть secret.pass.
Настройка паролей#
Для последующего указания паролей в зашифрованном виде в директории <основная_рабочая_директория>/package/bh расположена утилита для шифрования encryptor-cli-2.4.0-fatjar.jar.
Пример использования утилиты:
java -jar package/bh/encryptor-cli-2.4.0-fatjar.jar -k KEY -p PASSWORD
где:
параметр
-p– шифруемое значение;параметр
-k– секрет, которым шифруется пароль (можно шифровать с указанием пути до файла, содержащего секрет, тогда значение параметра-kбудетfile:<путь до файла с секретом>). Секрет должен совпадать с содержимым файла из пункта 26.б
Пример:
java -jar /home/evpc/test/package/bh/encryptor-cli-2.4.0-fatjar.jar -k file:/home/evpc/test/helm/ssl/secret.pass -p test
Пример вывода команды:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Encrypted password: <password>
Последняя строка вывода содержит результат шифрования слова «test».
Запуск EVPC#
Запуск EVPC осуществляется командой:
helm upgrade --install -f values.yaml -n [имя namespace] evpc-test
Чтобы отслеживать состояние релиза или перечитывать информацию о конфигурации – можно использовать команду helm status:
helm status evpc-test