Примеры установки и настройки основных программ
Раздел включает примеры установки и настройки программного обеспечения:
Установка и настройка MinIo
| Подробную информацию о работе с MinIo см. в официальной документации. |
-
Скачайте MinIO для вашего дистрибутива по ссылке.
-
Перенесите на сервер скачанный пакет
minio_*.deb.Пример команды установки пакета из директории
/home/admin:sudo apt install /home/admin/minio_*.deb -y
-
Откройте текстовый редактор nano с файлом конфигурации юнита systemd для службы MinIo, выполнив команду:
sudo nano /usr/lib/systemd/system/minio.service
-
В файле конфигурации юнита задайте параметры, необходимые для управления службой MinIO.
Пример файла:
[Unit] Description=MinIO Documentation=https://min.io/docs/minio/linux/index.html Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local User=minio-user Group=minio-user ProtectProc=invisible EnvironmentFile=-/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi" ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES # Let systemd restart this service always Restart=always # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Specifies the maximum number of threads this process can create TasksMax=infinity # Disable timeout logic and wait until process is stopped TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target # Built for ${project.name}-${project.version} (${project.name}) -
Создайте группу с именем
minio-user, выполнив команду:sudo groupadd -r minio-user
-
Создайте пользователя с именем
minio-user, выполнив команду:sudo useradd -M -r -g minio-user minio-user
-
Задайте пароль для пользователя
minio-user, выполнив команду:sudo passwd minio-user
-
Создайте каталог для данных MinIo, выполнив команду:
sudo mkdir -p /opt/minio/data
-
Задайте владельца и группу для каталога
/opt/minio/и всех его подкаталогов и файлов, выполнив команду:sudo chown -R minio-user: /opt/minio/
-
В файле
/etc/default/minioдобавьте строки:MINIO_ROOT_USER=myminioadmin MINIO_ROOT_PASSWORD=minio-secret-key-change-me MINIO_VOLUMES="/opt/minio/data" MINIO_OPTS="--console-address :9001"
Измените переменные MINIO_ROOT_USERиMINIO_ROOT_PASSWORD, указав учетную запись суперпользователя MinIo с неограниченными правами. -
Разрешите автозагрузку и запустите сервис, выполнив команду:
systemctl enable --now minio
-
Проверьте статус службы, выполнив команду:
systemctl status minio
-
Перейдите в WEB-интерфейс, используя
<IP>:9001. -
Войдите в систему под учетной записью администратора, указанной в
/etc/default/minio. -
На вкладке меню Buckets создайте бакеты:
-
multimedia-bucket; -
os-distributives-bucket; -
os-installation-iso-images-bucket; -
salt-bucket; -
script-bucket; -
icons-bucket; -
images-bucket; -
others-bucket; -
bootloader-bucket.
-
Установка и настройка Apache Kafka
| Подробную информацию о работе с Apache Kafka см. в официальной документации. |
-
Установите пакет
default-jdk, выполнив команду:sudo apt install default-jdk
-
Создайте директорию для Apache Kafka, выполнив команду:
sudo mkdir /opt/kafka
-
Скачайте последнюю версию Apache Kafka и передайте ее на сервер.
-
Распакуйте архив, выполнив команду:
sudo tar -xzf kafka_*.tgz -C /opt/kafka --strip 1
-
Создайте пользователя Apache Kafka, выполнив команду:
sudo useradd -r -c 'Kafka broker user service' kafka
-
Создайте сервисные директории, выполнив команду:
sudo mkdir /tmp/zookeeper/ /tmp/kafka-logs/
-
Назначьте пользователя Apache Kafka владельцем каталогов, выполнив команду:
sudo chown -R kafka:kafka /opt/kafka /tmp/zookeeper/ /tmp/kafka-logs/
-
Создайте unit-файл для Zookeeper, выполнив команду:
sudo nano /etc/systemd/system/zookeeper.service
Пример файла:
[Unit] Description=Zookeeper Service Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure [Install] WantedBy=multi-user.target
-
Создайте unit-файл для Apache Kafka, выполнив команду:
sudo nano /etc/systemd/system/kafka.service
Пример файла:
[Unit] Description=Kafka Service Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > /opt/kafka/kafka.log 2>&1' ExecStop=/opt/kafka/bin/kafka-server-stop.sh ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure [Install] WantedBy=multi-user.target
-
Запустите службы, выполнив команду:
sudo systemctl daemon-reload && sudo systemctl enable --now zookeeper kafka
-
Проверьте статус службы Apache Kafka, выполнив команду:
systemctl status kafka
-
Проверьте работу порта Apache Kafka, выполнив команду:
ss -tunlp | grep :9092
-
Создайте топики, выполнив команды:
/opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic salt-topic /opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic provisioner-topic /opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic provisioner-dlq-topic /opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic osmax-core.os.reinstallation.machines /opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic osmax-provisioner.os.reinstallation.machines.registration.statuses
Установка и настройка PostgreSQL
Установите PostgreSQL, выполнив команду:
apt install postgresql
| Если вы используете модуль «Удаленный доступ», версия PostgreSQL должна быть 15 и выше. |
| Пример установки конкретной версии для Ubuntu см. по ссылке. |
Ниже рассмотрен пример настройки БД:
-
Зайдите в оболочку PostgreSQL, выполнив команду:
sudo -u postgres psql
-
Выполните действия:
-
Создайте пользователей:
-
osmax_rw— полные права на БД модуляosmax-core, гдеrw— read, write; -
osmax_ro— права на чтение БД модуляosmax-core, гдеro— read only; -
osmax_provisioner_rw— полные права на БД модуляosmax-provisioner, гдеrw— read, write.Пример команд:
CREATE ROLE osmax_rw LOGIN PASSWORD 'YourStrongPassword123'; CREATE ROLE osmax_ro LOGIN PASSWORD 'YourStrongPassword123'; CREATE ROLE osmax_provisioner_rw LOGIN PASSWORD 'YourStrongPassword123';
-
-
Создайте БД:
-
osmax_db— БД модуляosmax-core; -
osmax_provisioner_db— БД модуляosmax-provisioner.Пример команд создания БД и назначения соответствующих пользователей владельцами:
CREATE ROLE osmax_rw LOGIN PASSWORD 'YourStrongPassword123'; CREATE ROLE osmax_ro LOGIN PASSWORD 'YourStrongPassword123'; CREATE ROLE osmax_provisioner_rw LOGIN PASSWORD 'YourStrongPassword123';
-
-
Выдайте все права на БД владельцам БД.
Пример команд:
GRANT ALL PRIVILEGES ON DATABASE osmax_db TO osmax_rw; GRANT ALL PRIVILEGES ON DATABASE osmax_provisioner_db TO osmax_provisioner_rw;
-
Выйдите из оболочки PostgreSQL, выполнив команду:
\q
-
-
Подключитесь к БД
osmax_dbпод пользователемosmax_rw, выполнив команду:psql -h localhost -d osmax_db -U osmax_rw -p 5432
-
Выполните действия:
-
Создайте схемы БД, выполнив команду:
CREATE SCHEMA IF NOT EXISTS osmax_schema AUTHORIZATION osmax_rw;
-
Выдайте права подключения к БД пользователю
read only, выполнив команду:GRANT CONNECT ON DATABASE osmax_db TO osmax_ro;
-
Выдайте права на использование схемы пользователю
read only, выполнив команду:GRANT USAGE ON SCHEMA osmax_schema TO osmax_ro;
-
Выдайте права по умолчанию пользователю
osmax_rwв схеме и выдайте права на использование SELECT для пользователяread only, выполнив команду:ALTER DEFAULT PRIVILEGES FOR USER osmax_rw IN SCHEMA osmax_schema GRANT SELECT ON TABLES TO osmax_ro;
-
Задайте путь поиска к схеме, выполнив команду:
ALTER USER osmax_rw SET search_path = osmax_schema, public;
-
Выйдите из оболочки PostgreSQL, выполнив команду:
\q
-
-
Подключитесь к БД
osmax_dbпод пользователемosmax_ro, выполнив команду:psql -h localhost -d osmax_db -U osmax_ro -p 5432
-
Выполните команду установки
search_pathк созданной схеме, выполнив команду:ALTER USER osmax_ro SET search_path = osmax_schema, public;
-
Выйдите из оболочки PostgreSQL, выполнив команду:
\q
-
-
Подключитесь к БД
osmax_provisioner_dbпод пользователемosmax_provisioner_rw, выполнив команду:psql -h localhost -d osmax_provisioner_db -U osmax_provisioner_rw -p 5432
-
Выполните следующие действия для модуля
osmax-provisioner:-
Создайте схему
osmax_provisioner_schema, выполнив команду:CREATE SCHEMA IF NOT EXISTS osmax_provisioner_schema AUTHORIZATION osmax_provisioner_rw;
-
Выдайте права использования схемы пользователю, выполнив команду:
GRANT USAGE ON SCHEMA osmax_provisioner_schema TO osmax_provisioner_rw;
-
Задайте путь поиска к схеме, выполнив команду:
ALTER USER osmax_provisioner_rw SET search_path = osmax_provisioner_schema, public;
-
Выйдите из оболочки PostgreSQL, выполнив команду.
\q
-