VMmanager

Создание скрипта для узла

Вы можете создать скрипт для запуска на узле кластера. Например, с помощью скрипта на узле можно установить дополнительное программное обеспечение или настроить сетевые службы. Cкрипт должен быть написан на языке интерпретатора sh или в виде Ansible-сценария. Подробнее об Ansible см. в официальной документации. Существует возможность запустить скрипт вручную или настроить его автоматический запуск при подключении узла к кластеру. 

Ansible-сценарий должен быть совместим с версией Ansible 2.10.5.
Если скрипт содержит команду перезагрузки, то в момент её выполнения запуск скрипта прервётся. После перезагрузки выполнение скрипта не будет продолжено.

Примеры скриптов

В разделе приведены примеры скриптов для установки утилиты мониторинга atop. Вы можете создать собственные скрипты на их основе.

Shell
#!/bin/bash

# Determine the distribution
if command -v dnf > /dev/null 2>&1; then
    # For Red Hat systems (AlmaLinux)
    sudo dnf install epel-release -y
    sudo dnf install atop -y
elif command -v apt-get > /dev/null 2>&1; then
    # For Debian-based systems (Ubuntu)
    sudo apt-get update
    sudo apt-get install atop -y
else
    echo "Unknown distribution. The atop utility may not be available."
fi
Ansible
---
- name: Install atop utility
  hosts: all
  become: yes

  tasks:
    - name: Install atop on Red Hat based systems
      yum:
        name: atop
        state: present
      when: ansible_os_family == 'RedHat'

    - name: Install atop on Debian based systems
      apt:
        name: atop
        state: present
        update_cache: yes
      when: ansible_os_family == 'Debian'

Создание скрипта

Чтобы создать скрипт:

  1. Перейдите в Скрипты Для узлов Создать скрипт.
  2. Введите Название скрипта.
  3. Чтобы при подключении узлов к определённым кластерам скрипт запускался на них автоматически, выберите нужные кластеры в списке Автовыполнение на кластерах.
  4. Укажите Приоритет выполнения скрипта. Приоритет определяет порядок запуска нескольких скриптов на узле. Чем меньше значение приоритета, тем раньше будет выполнен скрипт. Минимальное значение параметра — 0, максимальное — 999999.
  5. Введите Краткое описание скрипта.
  6. Выберите Тип скрипта:
    • Shell скрипт — для скриптов на языке sh;
    • Ansible скрипт — для Ansible-сценариев.
  7. Введите тело скрипта. Чтобы развернуть окно редактора на весь экран, нажмите . Для возврата в оконный режим нажмите
  8. Нажмите Создать для сохранения скрипта или Создать и запустить на узлах для его запуска и выберите узлы, на которых нужно запустить скрипт.

Существует два варианта для запуска скрипта вручную:

  • перейдите в СкриптыДля узлов → выберите скрипт → меню Запустить скрипт → выберите узлы → Запустить на узлах.
  • перейдите в Узлы → выберите узел → Меню → Запустить скрипт → выберите скрипт → Запустить.
Может быть полезно