Ansible настройка astra linux

What is Ansible?

Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows.

How do I use Ansible?

I am a mac user with homebrew already installed so installing ansible is as simple as:

> brew install ansible

Next executing ansible playbooks is as easy as:

> ansible-playbook [playbook]

Check Out My GitHub Repo

Before getting started with Astra & Ansible download, fork, or clone my github repo which contains sample ansible playbooks to give you a head start. For the sake of demonstrating each action separately each ability is a separate playbook but you can easily code them into a single playbook to suit your needs.

My GitHub repo which contains example ansible playbooks for the Astra DevOps and Data APIs.

Working with Ansible Playbooks

There are 2 different Astra APIs. The DevOps API for creating databases, keyspaces, and taking organizational actions. Second, the Data API for creating tables, data, and taking adminstrative actions on databases created with the DevOps API.

Learn how to use the DevOps API.

Learn how to use the Data API.

What’s Next?

Check out msmygit’s repo for a much deeper dive into Astra + Ansible.

How can I help you with Astra?

Find me over on the Astra Slack to ask me any questions about Astra. Also let’s chat if you have something kewl you did with Astra and you want me to feature it in my blog. Look below or to the right for more ways to find me.

Find Me

  • DataStax Slack
  • The ASF Slack
  • Apache NiFi Slack
  • ds-steven-matison
  • steven-matison
  • k8ssandra Community
  • DataStax Community
  • Cloudera Community
  • LinkedIn
  • Twitter
  • k8ssandra
  • Stargate
  • FOTCR
  • GraphQL
  • NoSqlBench

This page was generated by GitHub Pages.

Читайте также:  Операционная система linux применению

Источник

Система управления конфигурациями Ansible

Ansible — система управления конфигурациями. Написана на Python, использует декларативный язык разметки для описания конфигураций.
Используется для автоматизации настройки и массового развёртывания программного обеспечения.
Работает с Linux-узлами (SSH-соединение), также поддерживает Windows (WinRM соединение).

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Common Edition 2.12

Установка пакета

Пакет ansible доступен в репозитории Astra Linux Common Edition и в дистрибутиве Astra Linux Special Edition. Установить пакет можно с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой

Настройка пакета

При установке пакета создаётся каталог /etc/ansible, содержащий два конфигурационных файла:

  • /etc/ansible/hosts — список хостов, с которыми работает ansible;
  • /etc/ansible/ansible.cfg — файл настроек ansible.

Файл конфигурации /etc/ansible/hosts

В файле /etc/ansible/hosts указывается список хостов, с которыми должен работать ansible.
Файл снабжен достаточно подробными комментариями:

# Это файл ansible ‘hosts’, установленный по умолчанию.
#
# Файл должен иметь имя /etc/ansible/hosts
#
# — Комментарии начинаются с симовла ‘#’
# — Пустые строки игнорируются
# — Группы хостов разделяются элементами [заголовок]
# — Можно использовать имена хостов или IP-адреса
# — Имя хоста или адрес могут входить в несколько групп

# Пример 1: Хосты без групп должны быть перечислены до первого заголовка группы.

# Пример 2: После заголовка [webservers] н ачался список хостов, входящих в группу ‘webservers’

# Применение шаблонов для определения нескольких хостов
#www[001:006].example.com

# здесь всё ещё группа ‘webservers’

# Пример 3: После заголовка [ dbservers ] началась г руппа серверов баз данных ‘dbservers’ group

# Еще пример диапазона имён, теперь без лидирующих нулей

Дополнительно в файле /etc/ansible/hosts могут быть заданы значения переменных для определённых там хостов (сетевые адреса, псевдонимы и пр.).
Более подробная информация содержится в документации

Простейшие примеры настройки и использования

Настройка подключений SSH

Так как ansible подключается к хостам по протоколу ssh, на каждом хосте, с которым должен работать ansible, должен быть установлен сервер и запущен ssh. Для автоматизации подключений можно использовать ключи или пароли.

Установить сервер ssh и настроить аутентификацию по открытому ключу можно по этой инструкции.

Для настройки аутентификации по паролю:

    При запуске Ansible из командной строки с помощью опции —user задать имя пользователя и с помощью опции —ask-pass указать необходимость запроса пароля:

[all:vars] ansible_connection=ssh ansible_user= ansible_ssh_pass=

Далее предполагаем, что в файле /etc/ansible/hosts указан список хостов, и, в примерах, будем работать со всеми указанными хостами применяя псевдоним all.

Читайте также:  Файловый сервер linux ubuntu

Просто пинг. Ко всем хостам (all) применяется модуль ping (-m ping):

Инвентаризация выводит слишком много информации, поэтому отфильтруем только информацию об объёме памяти:

С помощью модуля shell проверим на всех хостах версию Astra Linux:

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

rep for deploy infrastructure for preseed install of astra linux se

License

laboratory50/astra_preseed_install

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Автоматическая установка ОС «Astra Linux Special Edition»

Этот репозиторий содержит сценарии Ansible для создания сервера автоматической установки по сети ОС Astra Linux Special Edition на целевые машины.

Все материалы распространяются на условиях стандартной общественной лицензии GNU (GPL) версии 3.

Полный текст лицензии находится в файле LICENSE.

Используются следующие пакеты:

  • Ansible версии 1.7+;
  • Dnsmasq — DHCP и TFTP сервер;
  • LigHTTPd/Apache 2/vsftpd — сервер раздачи репозитория/preseed файлов.

Проект в первую очередь предназначен для использования сисадминами и внедренцами, работающими с Astra Linux Special Edition. Сценарии позволяют создать полностью автономный сервер для сетевой установки ОС. Например, на ноутбуке.

  • Раздача репозитория операционной системы.
  • Упрощенное создание сценариев установки (pressed-файлов) оптимизированных для Астры.
  • Поддержка программного RAID и LVM.
  • Привязка IP-адресов к MAC-адресам.
  • Использование разных сценариев установки для разных узлов (привязка к MAC-адресам).
  • Поддержка UEFI (необходим пакет syslinux-efi).
  1. Установите пакет ansible: apt-get -y install ansible .
  2. Создайте файл stage (на базе примера stage.sample). Пример рассчитан на установку на локальный узел.
  3. Создайте сценарий установки на базе примера site.yml: cp site.yml my.yml . Поставляемый файл рассчитан на установку на локальном узле пользователем с возможностью использования sudo. Если вы работаете под root-ом, значение sudo установите в false .
  4. Создайте свои сценарии установки ОС (preseed) в отдельном файле, например preseeds.yml .
  5. Создайте файл конфигурации параметров инсталляции и целевых машин в каталоге vars/ на базе примера vars/example.yml .
Читайте также:  Hp deskjet 2320 all in one linux

Установка производится с помощью Ansible:

ansible-playbook -i stage my.yml --extra-vars="@vars/my.yml" 

Сценарий установки ОС (preseed-файл)

Preseed-файл задает параметры автоматической установки Debian-подобных систем. В проекте есть роль preseed которая облегчает создание этого файла путем автоматической генерации на основании шаблона. Вы можете создавать любое количество preseed-файлов.

Пример использования нескольких сценариев (в my.yml ):

… vars_files: - vars/srv-cfg1.yml … roles: - < role: preseed, preseed: ">" > - < role: preseed, preseed: ">" > … 

В примере будет создаваться два preseed-файла, определяемых переменными server и client в файле preseeds.yml :

server: name: server … client: name: client … 

В роли preseed уже есть две стандартные роли: standard и dmraid . Некоторые ограничения на настройку ролей:

Замечания для версии Астры 1.3

Данная конфигурация настроена на установку по сети ОС Astra Linux Special Edition. Для этого доработан образ initrd.gz инсталлятора (по отношению к netinst c оригинального диска с ОС Astra Linux 1.3):

  • изменен usr/share/localechooser/languagelist поддержка русскому языку изменена с 2 на 1. было ru;2;RU;ru_RU.UTF-8;;console-setup стало ru;1;RU;ru_RU.UTF-8;;console-setup
  • добавлен модуль dca.ko в lib/modules/3.2.0-27-generic/kernel/drivers/dca/
  • добавлены модули dm-log.ko dm-mirror.ko dm-mod.ko dm-region-hash.ko в lib/modules/3.2.0-27-generic/kernel/drivers/md/
  • добавлены ключи lab50-archive-keyring.gpg от собственного репа (он служит зеркалом при установке) в usr/share/keyrings

Как это все сделать самостоятельно.

    распаковка и упаковка initrd.gz:

#!/bin/sh if [ -d $1 ]; then rm -rf $1 fi if [ -f initrd ]; then rm initrd fi if ! [ -f initrd.gz ]; then echo "initrd.gz not found" exit 1 fi gunzip initrd.gz mkdir $1 cd $1 cpio -id < ../initrd 
#!/bin/sh if ! [ -d $1 ]; then echo "folder not found" exit 1 fi if [ -f initrd ]; then rm initrd fi if [ -f initrd.gz ]; then rm initrd.gz fi cd $1 find . | cpio --create --format='newc' > ../initrd cd .. gzip initrd 

В качестве зеркала используется собственный репозиторий пакетов, в котором добавлен пакет grub-installer_1.78ubuntu8_amd64.udeb , поскольку grub-installer_1.70astra.se4_amd64.udeb содержит ошибки при установке grub на soft&fake raid.

About

rep for deploy infrastructure for preseed install of astra linux se

Источник

Оцените статью
Adblock
detector