Подготовка окружения на одном устройстве

06 октября 2026

ID 327885

Для контейнеризации сервисов и последующей работы оркестратора настройте окружение на устройстве.

Чтобы подготовить окружение на устройстве для развертывания оркестратора:

  1. Для использования MongoDB включите у CPU расширение системы команд AVX. Для этого в виртуальной среде (VMware, Proxmox) задайте режим CPU host или host-passthrough.

    После включения ВМ проверьте наличие флагов с помощью команды:

    cat /proc/cpuinfo | grep flags | head -1 | grep -o "avx[^ ]*"

    Результатом выполнения команды должен быть хотя бы один из следующих флагов: avx, avx2, avx512.

  2. Настройте параметры DNS:
    1. Отключите systemd-resolved:

      sudo systemctl stop systemd-resolved

      sudo systemctl disable systemd-resolved

    2. Укажите статические DNS-серверы, чтобы избежать сбоев при обращении Docker к внешним репозиториям:

      sudo rm /etc/resolv.conf

      sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'

      sudo sh -c 'echo "nameserver 8.8.4.4" >> /etc/resolv.conf'

      sudo chattr +i /etc/resolv.conf

    После включения ВМ вы можете проверить работу DNS:

    cat /etc/resolv.conf

    ping -c 3 docker.io

  3. Установите Docker из официального репозитория:

    Если вы выполняете этот шаг на Astra Linux, выполните команду:

    sudo apt-get install docker.io -y

    Если вы выполняете этот шаг на Ubuntu, выполните команды:

    sudo apt-get update

    sudo apt-get install -y ca-certificates curl

    sudo install -m 0755 -d /etc/apt/keyrings

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

    sudo chmod a+r /etc/apt/keyrings/docker.asc

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    sudo apt-get update

    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  4. Укажите фиксированную подсеть для интерфейса docker0, чтобы избежать конфликтов с VPN:

    При установке Docker по умолчанию создает сетевой интерфейс docker0 с подсетью 172.17.0.1/16. Эта подсеть может конфликтовать с адресацией VPN, что приведет к потере соединения с сервером по SSH после перезапуска Docker.

    1. Укажите фиксированную подсеть и DNS-серверы в конфигурационном файле Docker:

      sudo tee /etc/docker/daemon.json <<EOF

      {

      "bip": "10.10.0.1/16",

      "dns": ["8.8.8.8", "8.8.4.4"]

      }

      EOF

    2. Перезапустите Docker:

      sudo systemctl restart docker

      sudo systemctl enable docker

    3. Добавьте пользователя в группу docker, чтобы не использовать sudo:

      sudo usermod -aG docker $USER

    4. Выйдите из сессии и зайдите снова или выполните команду newgrp docker, чтобы изменения вступили в силу.
  5. Установите OpenJDK, чтобы получить доступ к входящему в его состав keytool:
    1. Если процесс unattended-upgrades блокирует apt, подождите или временно остановите его:

      sudo systemctl stop unattended-upgrades

      sudo apt update

    2. Установите OpenJDK:

      sudo apt install -y openjdk-17-jre-headless

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

    keytool -help

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!