Быстрое конфигурирование серверов с Ansible

Публикация № 1797548 26.01.23

Администрирование - Администрирование веб-серверов

Всю рутину по обновлению платформы, настройке веб-серверов и серверов хранилищ на всем парке серверов компании можно автоматизировать с помощью удобочитаемых YAML-скриптов Ansible. О том, как написать сценарии такой автоматизации, чтобы запускать их параллельно для группы серверов, на митапе «Инструменты автоматизации рутины в 1С-разработке» рассказал ведущий разработчик компании ПИК Digital Павел Комаров.

 

 

В моем докладе пойдет речь про автоматизацию рутины, которую мы выполняем на наших серверах 1С, SQL и сервере хранилища. Сюда относятся такие операции как:

  • обновление платформы;

  • удаление и установка служб;

  • регистрация компонент консоли и пр.

По отдельности все эти операции простые, но когда их накапливается много, а выполнить их нужно на целом парке серверов, времени это занимает уже значительно больше.

 

Что такое Ansible и чем он отличается от других похожих систем?

 

 

 

При решении такого рода задач самое простое, что мы можем сделать – это написать кучу скриптов под каждую задачу. Но их потом нужно будет как-то поддерживать, накатывать на удаленные машины.

А вообще есть такой класс систем, как системы управления конфигурациями. Среди фаворитов можно выделить следующие:

  • Puppet

  • Chef

  • Saltstack

  • Ansible

Я остановился на Ansible, потому что меня подкупила его безагентность. Это очень важный критерий – чтобы на удаленные хосты не нужно было ничего ставить, хотя с Windows потом оказалось, что есть маленький нюанс.

У Ansible есть ряд преимуществ:

  • У него простой синтаксис – все сценарии автоматизации пишутся на YAML.

  • Сам Ansible написан на Python, его можно дорабатывать с помощью собственных дополнительных модулей.

  • Следующим плюсом является то, что Ansible основан на технологии принудительной настройки – мы пишем сценарий автоматизации, одну кнопку нажали и видим ход выполнения нашего сценария.

  • В отличие от остальных систем (они еще называются pull-системы), Ansible использует push-mode. Мы пишем сценарий, отправляем его на центральный узел, и оттуда изменения проталкиваются (push) и применяются удаленных узлах.

  • Ansible имеет большое количество встроенных модулей.

  • Большинство этих модулей является идемпотентными с точки зрения многократного выполнения. Т.е. если нам потребуется несколько раз выполнить одну и ту же операцию, результат первоначального применения не изменится. Например, если у нас по сценарию создается какой-то пользователь, то при повторном выполнении этого шага, Ansible просто проверит, что он уже создан, и продолжит выполнение. А в скриптах это нужно было бы дополнительно обрабатывать.

 

 

Принцип работы Ansible. У нас есть одна управляющая машина и множество удаленных хостов. В качестве управляющей ноды можно использовать любое устройство, где может быть установлен Python.

Важное ограничение: в качестве управляющего узла не может выступать машина с операционной системой Windows – поддерживается только Linux.

В качестве удаленных хостов может выступать машина с любой операционной системой. Чтобы получить туда доступ, главное, чтобы там был установлен Python, и, если это Windows, на нем должен быть установлен PowerShell версии не ниже 3.0.

 

 

По требованиям к центральному узлу и к хостам.

  • Центральный узел – требуется установка Ansible, самого Python и средства, с помощью которого мы будем общаться с удаленными узлами.

  • На Windows-хостах должен быть установлен PowerShell версии не ниже 3.0 и работать служба WinRM (Windows Remote Management). Тут разработчики Ansible позаботились о нас, сделали скрипт на PowerShell, который всю необходимую настройку за нас выполнит. Запустили – и хост готов.

  • А с Linux хостами еще проще – Python во всех дистрибутивах есть, SSH-есть. Зная логин и пароль или пробросив SSH-ключи, можно подключиться к любому хосту.

 

Установка и запуск

 

 

Для установки на центральном узле можно использовать несколько вариантов:

  • Либо через родной менеджер пакетов поставить – сейчас Ansible уже входит в большинство дистрибутивов Linux.

  • Если нам потребуется подключение к Windows-хостам, нам потребуется еще дополнительно поставить Python-овскую библиотеку pywinrm. Она устанавливается через пакетный менеджер Python (по команде sudo pip install pywinrm).

  • Также Ansible можно сразу поставить через пакетный менеджер Python со всеми зависимостями по команде (по команде sudo pip install ansible).

  • И для самых ленивых есть docker-образ со свежими версиями https://hub.docker.com/r/jmal98/ansiblecm/ . Docker build, docker run и все – у нас готовая управляющая нода. Плюс в Visual Studio Code есть расширение для работы с Docker, через которое можно взаимодействовать с контейнером управляющей ноды. Это позволит писать и запускать сценарии на своей рабочей машине.

Подробнее установка на центральном узле прописана в документации Ansible.

 

Подготовка хоста на Windows

 

 

На слайде приведен скрипт PowerShell для настройки хоста с Windows (подробнее о настройке Windows-хоста для работы с Ansible можно прочитать в документации).

$url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"

$file = "$env:temp\ConfigureRemotingForAnsible.ps1"

(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)

powershell.exe -ExecutionPolicy ByPass -File $file

Запустили. Если все прошло без ошибок, то хост настроен.

 

 

Если работа Ansible через Windows Remote Management вас не устраивает, с версии 2.8 у нас появилась возможность работать с Windows-хостами через пакет OpenSSH.

На слайде показано, как установить пакет openssh через модуль win_chocolatey Ansible.

 

 

 

Как Ansible определяет, к каким хостам он может подключаться? Для этого есть специальный файл – inventory.

По умолчанию, он лежит на управляющей машине по пути /etc/ansible/hosts

Поддерживается описание как списком, так и в формате YAML (документация).

Плюс есть мелкие приятные фичи, такие как возможность указать имя группы с перечислением списка хостов в квадратных скобках – такое перечисление транслирует выполнение сценария на несколько хостов.

 

Библиотека модулей

 

 

Что интересного можно запускать на удаленных хостах?

Здесь нам помогут модули. В Ansible свыше 2500 модулей из коробки – огромная библиотека модулей, через которые мы можем что-то сделать на удаленном хосте.

Модули отвечают за действия, которые выполняет Ansible. При этом каждый модуль отвечает за свою конкретную маленькую операцию.

Читать сценарии очень удобно. А, как мы знаем, пишем код мы реже, чем читаем.

 

 

Модули можно выполнять отдельно в так называемом Ad-hoc-режиме. Или собирать в операции (play), а затем в Playbook.

 

Демонстрация работы с Ansible через Ad-hoc-команды

 

 

Демонстрационный стенд состоит из трех машин – две на Windows и одна – управляющая нода на CentOS.

Чтобы настроить Windows-хосты для работы с Ansible, запускаем на них скрипт ConfigureRemotingForAnsible.ps1 (как его запустить было продемонстрировано ранее).

 

 

Здесь осуществляется подготовка и запуск службы Windows Remote Management. На этом настройка на Windows-хосте закончена.

 

 

Теперь идем на наш управляющий узел – я покажу, как в нем настроен файл hosts, который находится по пути /etc/ansible/hosts.

 

 

Здесь указаны две наши windows-машины – 1cdevops01 и 1cdevops02, которые объединены в группу [onecservers].

 

 

Клонируем к себе репозиторий с примерами скриптов и рассмотрим его структуру.

В корне репозитория есть папка group_vars. В ней лежит файл onecservers – в котором хранятся параметры для подключения к группе серверов с таким именем.

 

 

Когда Ansible будет подключаться к хостам группы onecservers (нашим Windows-хостам), он будет использовать эти параметры.

ansible_user: devops

ansible_connection: winrm

ansible_winrm_server_cert_validation: ignore

Т.е. он будет подключаться под пользователем devops через winrm, не используя никакие сертификаты (ansible_winrm_server_cert_validation: ignore).

Посмотрим, как отработают примеры.

 

 

Первый пример у нас – это модуль win_ping.

Перейдем в корень репозитория и просто пропингуем наши два windows хоста командой:

ansible onecservers -m win_ping --ask-pass

Параметр --ask-pass означает, что Ansible сейчас запросит пароль, под которым я подключусь к удаленным хостам.

Вот мы получили ответ от каждой машины – pong и все зеленое.

 

 

Дальше мы выполним команду whoami на удаленных хостах

ansible onecservers -m win_command -a whoami.exe --ask-pass

Ansible вывел результат выполнения этой команды.

 

 

Дальше – пример про идемпотентность. Используя модуль win_service я создам на сервере тестовую службу Ansible_example_service командой.

ansible onecservers -m win_service -a 'name=Ansible_example_service path=C:\temp\ state=stopped' --ask-pass

 

 

Перейдем на удаленный узел 1cdevops01 и проверим, что в списке появилась служба Ansible_example_service.

 

 

Еще раз выполним команду – теперь она показана зеленым. Свойства changed = false, exists = true. Это значит, что Ansible пропустил ее выполнение – идемпотентность заключается в том, что при повторном выполнении результат первоначального применения не изменяется.

 

 

Дальше – удалим эту службу. Тоже используя модуль win_service.

 

 

Все, служба удалилась. Т.е. одним модулем win_service мы управляем службами на удаленных хостах.

 

Первый Playbook

 

 

Теперь – про Playbook. Это – сценарий, где описываются действия, которые мы будем выполнять на какой-то группе хостов.

Playbook состоит из набора Play (операций). Play является ключевым элементом Playbook – он связывает хосты с задачами, которые будут на них выполняться.

Дальше – задача. Это как раз вызов конкретного модуля – то, что мы сейчас вызывали, например, win_service. В задаче обязательно указывается имя и модуль, который будет вызываться.

 

 

Теперь, чтобы уметь читать плейбуки, немного про правила написания YAML-файлов.

Файл начинается с трех дефисов.

  • Дальше идет перечисление play – наших операций.

  • Как и все списки в YAML, оно начинается с одинарного дефиса, а дальше – все отступы идут с одинаковым расстоянием от начала строки.

  • Комментарий начинается с символа #, а словарь описывается в виде «ключ: значение».

Здесь у нас операция с именем «install and start onec server» будет выполняться на группе хостов onecservers под пользователем root.

Дальше перечислены задачи, которые будут выполняться в этой операции. Там будет установлен 1С и запущены службы.

 

 

Небольшое резюме по плейбукам для понимания:

  • Сценарий (Playbook) содержит одну или несколько операций (Play)

  • Операции связывают множество хостов с задачами, выполняемыми на них.

  • Каждой задаче соответствует один модуль. Несколько модулей нельзя в одной задаче вызывать.

Эта простота позволяет нам легко читать сценарии.

А дальше – вооружаемся документацией по модулям и начинаем автоматизировать всю нашу рутину.

 

 

Вот так выглядит плейбук для модуля win_ping. Сценарий, из одной операции, внутри которой одна задача – вызов модуля win_ping.

 

 

Давайте вызовем ее. Плэйбуки запускаются через отдельную консольную утилиту ansible-playbook:

ansible-playbook ping.yml --ask-pass

Мы воспроизвели ранее продемонстрированный пример с пингом, только через плейбуки.

Чуть позже покажу вам, как использовать плейбук на примере развертывания сервера 1С. Но до этого расскажу про роли.

 

Механизм ролей

 

 

Когда у нас сервер выполняет одновременно несколько ролей – например, он и сервер 1С, и SQL-сервер (такое часто встречается), мы можем написать большой сценарий, в котором сначала опишем шаги установки сервера 1С, потом – установки SQL-сервера. Это будет огромная портянка. А что если мне нужен будет только сервер 1С или SQL?

Для таких случаев в Ansible есть механизм ролей. Он позволяет разбить сложный сценарий на отдельные части, на роли. Роль определяет некоторую функциональность.

В нашем случае это будет отдельно роль на сервер 1С, отдельно роль на SQL-сервер.

А дальше в сценариях указывается, что группа серверов onecservers у нас является только серверами 1С, а группа серверов onecsqlservers – и серверами 1С, и SQL-серверами. А внутри роли уже отдельные плейбуки.

 

 

Как сделать роль?

Мы можем в корне нашего репозитория, где лежат плейбуки, создать папку roles. Там создать каталог для нашей роли и в соответствии с регламентированной структурой Ansible выстроить для роли такую структуру каталогов. Либо воспользоваться инструментом ansible-galaxy, который всю эту структуру выстроит автоматически одной командой:

ansible-galaxy init onec-server

Нам останется только написать соответствующий код в нужных обработчиках.

Теперь посмотрим на роль сервера 1С и пробежимся по этим каталогам – что в каждом лежит и для чего.

 

 

В папке defaults хранятся переменные, которые можно переопределять в процессе выполнения плейбука.

В каталоге files (он здесь не используется) хранятся файлы, которые будут выгружаться на хосты.

В каталоге handlers – обработчики, которые будут вызываться из задачи. Я этот каталог здесь тоже не использую.

 

 

В каталоге meta указываются зависимые роли, которые будут применены до основной роли – например, здесь на сервер 1С устанавливается пакетный менеджер chocolatey.

 

 

В каталоге tasks – это как раз те задачи, которые будут выполняться при развертывании роли. Рассмотрим их подробнее:

  • Модуль include подключит нам дополнительно задачи из файла find-services.yml при указанном здесь условии. Т.е. если значение onec_server_find_services is defined и оно равно True, то к основному сценарию будет добавлен еще и файл find-services.yml.

 

 

В файле find-services.yml сохраняются в переменные настройки служб сервера 1С и RAS.

 

 

  • Следующим шагом – поскольку перед тем, как выполнять main.yml, у нас на машине уже будет установлен choco, мы можем через модуль win_chocolatey_source добавить на узел внешний репозиторий с нашим пакетом 1С.

  • И потом через модуль win_chocolatey установить платформу с нужными для сервера 1С параметрами из этого пакета.

  • Модуль debug нужен для отладки – он выведет результат, который на предыдущем шаге был помещен в переменную onec_server_install_result.

 

 

  • Далее так же через пакетный менеджер будет установлена платформа, только уже другой разрядности.

  • Потом опять модуль debug.

  • Следом за ним два шага с уже знакомым нам модулем win_service: мы поднимем две службы – на сервер 1С и на сервер RAS.

  • Далее модуль win_shell – это просто вызов произвольной команды для регистрации консоли управления серверами.

  • И модуль win_template, который по шаблону заполняет файл nethasp.ini и копирует его на сервер. Модуль win_template использует питоновский шаблонизатор Jinja2, которому мы можем передать заготовку nethasp.ini.j2 из папки templates.

 

 

Например, я хочу поместить в nethasp.ini адреса HASP LM с аппаратными ключи, которые используются в компании.

 

 

Тогда я просто в файлике secrets.yml добавляю перечисление нужных мне серверов. И через модуль win_template весь перечень этих серверов добавится в итоговый nethasp.ini. Таким образом удобно создавать конфиг-файлы.

 

 

Благодаря последнему шагу этого плейбука nethasp.ini попадет к нам на сервер.

 

 

Теперь покажу, как все это работает. Запускаем плейбук onec-server.yml.

В самом плейбуке:

  • имя;

  • к каким серверам подключаться плейбуку;

  • файлик secrets, в котором можно задать секреты, используемые в плейбуках – это такой простой способ хранить секреты;

  • pre_tasks – задачи, которые выполняются перед запуском ролей – здесь создается временная директория;

  • и в разделе roles – параметры нашего плейбука (установи 1С-сервер версии 8.3.18.1128 на группе хостов onecservers).

 

Запуск сценариев

 

Запустим плейбук – перед запуском Windows-машины чистые, 1С на них нет.

 

 

За выполнением его шагов можно наблюдать в режиме реального времени. Если много серверов, все это очень красиво выглядит.

Создаются службы, регистрируется консоль, скопировался nethasp.ini – все, плейбук завершен.

 

 

Посмотрим ход всех операций с самого начала.

  • Задачу Gathering Facts можно отключить, это ресурсоемкая операция, где собирается дополнительная информация с хостов.

  • Дальше мы создаем временную директорию для Ansible.

  • Потом подключаемая роль из зависимостей проверила, установлен ли choco. Поскольку choco установлен, шаги его установки пропустились.

 

 

  • Дальше – получили информацию об уже установленных службах сервера 1С.

  • С помощью шага debug вывели сюда их параметры.

 

 

  • Удалили службы

 

 

  • Добавили внешний источник с пакетами платформы

  • Установили платформу

 

 

  • Создали службы.

  • Зарегистрировали консоль кластеров.

  • И перенесли nethasp.

Теперь посмотрим результат на машинах.

 

 

Службы у нас работают.

 

 

Консоль зарегистрирована.

Сервер готов.

 

Хранилище ролей Ansible

 

 

Если вам нужно установить какой-то опенсорсный продукт, то с большой вероятностью вы его найдете в хранилище ролей Ansible Galaxy – это что-то вроде GitHub.

Например, роль для установки choco я подсмотрел в одном из опубликованных пакетов.

Там даже есть роли для 1С – наши коллеги там тоже уже есть.

Установка роли из этого хранилища производится одной строкой:

ansible-galaxy install my_galaxy_role

Дальше все как обычно.

 

Полезные ссылки

 

Далее – по полезным ссылкам.

  1. Ansible documentation – обязательно изучите документацию. Там все четко по модулям расписано – какие входные, выходные параметры. Это маст хев.

  2. Запускаем Ansible | Хохштейн Лорин, Мозер Рене – хорошая книга на русском языке. С примерами, много полезного и интересного можно почерпнуть.

  3. How to build your inventory – фрагмент из документации.

  4. Роли для 1С – это моя статья на Инфостарте с открытым репозиторием https://github.com/komarovps/ansible-onec-windows , где есть роли на установку сервера 1С, обновления публикаций на веб-сервер, раскатки сервера терминалов и т.д. Там есть еще куда развиваться, но что-то почерпнуть можно.

Репозиторий, который демонстрировался в ходе доклада, размещен на GitHub по адресу https://github.com/komarovps/infostart-meetup-ansible.

 

Вопросы

 

Не очень понятно, почему Ansible безагентный. Python ведь все равно нужно ставить на целевых нодах.

Python нужен только на Linux-машинах. А он там, скорее всего, уже есть. На Windows-хостах единственный нюанс – нужно включить службу Windows Remote Management. Но это быстро решается групповыми политиками.

Вы показали, что плейбук выполняется по очереди. Но если серверов очень много, долго ждать каждого. Есть ли возможность параллельного выполнения?

Сценарии каждой машины выполняются параллельно. Если какая-то задача на каком-то хосте отвалилась, на нем прекращается выполнение этого плейбука, а на остальных машинах сценарии как работали, так и работают – т.е. они выполняются не последовательно.

Многие рассматривают Ansible как инструмент для управления и установкой ПО на серверах, а у меня был прикольный кейс, когда на моей машине потребовалось переустановить систему. И перед этим я на виртуалке нужный софт в виде плейбука собрал, отладил. И потом буквально за 20-30 минут раскатал на чистое железо.

Через тот же choco можно все интересные и нужные пакеты раскатывать. С Windows он очень спасает. Очень удобный пакетный менеджер.

Через WSL на Windows 10 можно ли управляющую систему Ansible запустить?

Не пробовал. Я знаю, что быстрее всего в Docker поднять контейнер и через него работать. Пробросить плейбуки и запускать.

Еще хотелось акцентировать внимание на термине идемпотентность – он звучит академически, а суть очень крутая – Ansible запоминает состояние и перед тем, как что-то сделать с системой, проверяет, не было ли это уже сделано. На этапе отладки плейбуков это очень круто помогает. Не нужно каждый раз все сносить, чтобы следующий шаг плейбука добавить и проверить его.

Там есть режим стартовать с конкретного шага. Вообще Ansible очень интересный и мощный.

Как ни удивительно, прошли времена «красноглазия» и сейчас много опенсорсных инструментов типа Ansible работают из коробки достаточно легко без всяких бубнов.

Чем групповые политики не устроили?

Я не говорю, что групповые политики – это плохо. Но этими групповыми политиками же нужно будет что-то запускать. А скрипты настраивать не так удобно, как плейбуки.


 

 

Статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "DevOps в 1С: Инструменты автоматизации рутины в 1С-разработке".

Больше статей можно прочитать здесь.

Приглашаем на мероприятия Инфостарта 2023 года:

  • 25-27 мая, Анализ & Управление в ИТ-проектах - первая практическая конференция для аналитиков и руководителей проектов, 30% докладов и 70% практических сессий.
  • 11-13 октября, Infostart Event 2023 - самое масштабное событие в сфере 1С-индустрии, 1000+ участников, 130+ докладов.

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. evn-zorin 32 27.01.23 21:41 Сейчас в теме
так много текста - пока вникнешь и поймёшь, проще по старинке всё руками поставить)
maksa2005; +1 Ответить
2. vikad 125 27.01.23 22:03 Сейчас в теме
(1)
Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "DevOps в 1С: Инструменты автоматизации рутины в 1С-разработке".

В целом достаточно изучить репозиторий демопримера https://github.com/komarovps/infostart-meetup-ansible и посмотреть видео выступления (ссылка приведена в процитированной фразе).
3. cdiamond 228 28.01.23 08:37 Сейчас в теме
(1) Для разовых работ смысла писать скрипты ansible нет. И их мало написать - отладка во много раз больше времени займет. Но когда у тебя серверов и рабочих станций сотни и тысячи то всё выглядит уже абсолютно по другому и смысл более чем есть.
4. evn-zorin 32 29.01.23 13:16 Сейчас в теме
(2) в этом случае имеет смысл
Оставьте свое сообщение

См. также

Первый день архитектора 1С на новой работе

Мониторинг Сервера Администрирование СУБД Бесплатно (free)

Как быстро познакомиться с системой на новой работе или если вас пригласили провести аудит контура на 1С? О том, какие инструменты использовать для быстрой проверки настроек сервера 1С, сервера MS SQL и общей оценки инфраструктуры на производительность, на конференции Infostart Event 2021 Post-Apocalypse рассказал архитектор 1С Юрий Былинкин.

01.06.2023    5230    ardn    16    

63

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    3853    VPanin56    17    

56

Публикатор 1С. Как публиковать базы с комфортом

Администрирование веб-серверов Платформа 1С v8.3 Абонемент ($m)

Сегодня я расскажу вам про публикатор 1С баз. Это приложение, которое позволит с комфортом и удобством управлять зоопарком ваших веб публикаций. Если у вас больше 5 публикаций, и вам надо с ними что-то делать с завидным постоянством. Если для того чтобы опубликовать тестовую базу, вам приходится идти в техподдержку Если вам просто надоело копаться в конфигах, раздумывая, а нигде ли вы не ошиблись в пробелах и запятых - то тогда вам будет интересна эта публикация.

20.03.2023    3936    1    Segate    4    

17

Midnight Commander, установленный с Entware, не выполняет команды и не запускает файлы

Администрирование веб-серверов Linux Бесплатно (free)

Столкнулся с проблемой, установил на роутер Midnigt Commander с репозитория Entware, при попытке выполнения команды программа пишет ошибку "The shell is already running a command". Данная публикация описывает способ решения этой проблемы.

20.03.2023    459    Eugen-S    2    

3

Публикация 1С на Apache SSL в локальной среде разработки

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

В статье описывается установка и настройка веб-сервера Apache для работы с 1С через https.

09.02.2023    2535    lone_mayson    4    

36

Контейнер Docker для размещения публикации базы 1С на разных платформах

Администрирование веб-серверов Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Появилась необходимость развернуть на одном хосте две публикации базы, но не на одной платформе, а на разных. Тут я расскажу, как это сделать для версии 8.3.22.1704.

02.02.2023    1486    Sney_Kice    1    

19

Жизнь платформы 1C:Предприятие в кластере Kubernetes

Сервера DevOps и автоматизация разработки Облачные сервисы, хостинг Бесплатно (free)

Во многих сферах запуск приложений в Kubernetes является де-факто стандартом архитектуры, так как это позволяет быстро и эффективно задействовать ресурсы, не затрачивая на это большие деньги. Но с платформой 1С:Предприятие не все так просто, но потенциально возможно. Руслан Жданов на митапе «DevOps в 1С: CI/CD. Непрерывная интеграция и поставка решений на 1С» рассказал про то, как с помощью Kubernetes организовать в облаке управление кластером из серверов 1С и реализовать там тестирование приложений на 1С или запуск скриптов на OneScript.

24.01.2023    6123    ZhdanovR    3    

25

Доступ по IP к ИБ, опубликованной через WWW

Информационная безопасность Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение с вариантом фильтра доступа пользователей ИБ по IP. Платформа не ниже 8.3.17.

2 стартмани

06.12.2022    2362    3    mcd2003    10    

6

Замена имени сервера в файле ibases.v8i у пользователей в домене через GPO

Сети Сервера Платформа 1С v8.3 Абонемент ($m)

При переезде на новый сервер 1С возникла необходимость подготовить всех пользователей (а их 300+) к этому переезду и желательно не мешая их работе. А если быть точнее, то заменить в их списках информационных баз имя сервера. Итак, что имеем в условии.  Есть сервер 1С с именем  WIN2016.  Необходимо перенастроить всех пользователей на новый сервер с именем SRV1C. Для этого придется либо руками у каждого пользователя исправить записи по каждой базе через открытие 1С, либо поправить файл ibases.v8i, который находится в папке профиля пользователя. Второй вариант более интересен, но лезть на 300+ компьютеров не наш метод.

1 стартмани

30.11.2022    1913    0    dungeonkeeper    13    

4

Трое в лодке, не считая собаки - Автономный сервер 1С

Сервера 8.3.14 Конфигурации 1cv8 Бесплатно (free)

Краткая шпаргалка по Автономному серверу 1С. Описаны основные параметры настройки и быстрый алгоритм развертки на ПК.

17.11.2022    2370    AntoShiK86    8    

22

Мониторинг ИБП МАП и выключение, включение серверов

Сервера Мониторинг Периферийные устройства Платформа 1С v8.3 Абонемент ($m)

В качестве источника бесперебойного питания серверов можно использовать сетевой инвертор и сборку литиевых аккумуляторов. Единственное, чтобы это работало без участия человека, нужно выключать сервера, когда АКБ разряжается, и включать их обратно, когда сетевое напряжение появилось и АКБ зарядился. С этим вполне может справляться и программа на 1С. Далее описывается программа мониторинга и схема подключения МАП Тitanator UPS (Микроарт) с АКБ Vektor LFP (LiFePO4). Обмен данными ведется по протоколу HTTP.

1 стартмани

16.08.2022    3141    2    vad7    0    

1

Подключение двух и более COMConnector'ов (COM-соединений) к различным релизам сервера 1С:Предприятие 8.3 на одном компьютере

Сервера Платформа 1С v8.3 Россия Бесплатно (free)

В публикации рассматривается вопрос о создании двух и более одновременно работающих COM-соединений к различным релизам сервера 1С:Предприятие 8.3 на одном компьютере. Разрабатывалось, тестировалось и работает под платформами 1С 8.3. Но, насколько я углубился в тему, этот алгоритм должен работать и под 8.1, и под 8.2 и в комбинациях.

04.06.2022    2498    andrewbc    2    

17

Получение внешнего IP адреса клиента и сервера за NAT

Администрирование веб-серверов Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда надо узнать внешний адрес, с которого 1С (клиент или сервер) ходит в интернет.

1 стартмани

25.03.2022    2805    1    blackhorse1976    2    

7

Разворачиваем на Windows 11: Hyper-V, Microsoft Hyper-V Server 2019 и SQL Server 2019 Dev [Шпаргалка]

Сервера Бесплатно (free)

Шпаргалка по установке бесплатных Microsoft Hyper-V Server 2019 и MS SQL Server 2019 Dev.

08.03.2022    6487    dsdred    17    

35

Окружение сервера 1С на арендованном выделенном сервере

Сервера Linux Бесплатно (free)

Установка Proxmox на OVH, настройка VPN и контейнера для 1С.

01.03.2022    3878    malikov_pro    10    

26

Консоль администрирования серверов 1С (ras) для Linux и Windows

Сервера Россия Абонемент ($m)

Альтернатива штатной "Консоли администрирования" от 1С (основана на использовании утилит ras и rac) для Linux и Windows.

21.02.2022    5709    38    Pependos    8    

24

Использование Vagrant и Ansible для разворачивания тестовой инфраструктуры

Администрирование веб-серверов Бесплатно (free)

В статье опишу порядок настройки набора виртуальных машин для отладки сервисов 1С и связанных с ними.

20.10.2021    3752    malikov_pro    1    

23

Обновление платформы 1С тонкого клиента с вебсервера без публикации базы данных, когда сервер 1С ПРОФ.

Администрирование веб-серверов Администрирование СУБД Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обновление платформы 1С: тонкого клиента с вебсервера описывается здесь: https://its.1c.ru/db/v8316doc#bookmark:adm:TI000001058, (11.2.2. Обновление через диалог публикации на веб-сервере) и здесь: https://its.1c.ru/db/v8319doc#bookmark:adm:TI000000428, (6.2. Получение дистрибутива клиентского приложения) - доступно только для КОРП Для ПРОФ реализация полностью описана в данной статье. Выражаю благодарность Панюшкину Михаилу Михайловичу за разбор задачи и доведение ее до практического результата. Обновление не проходит если например предварительно установка выполнялась регламентными политиками и есть в папке conf файл adminstall.cfg Этот файл следует удалить, чтобы данная установка тонкого клиента проходила успешно Применяется только для системы «1С:Предприятие» под ОС Windows. Файл adminstall.cfg указывает на то, что установка системы программ «1С:Предприятие» выполнялась с использованием средств администрирования ОС Windows. Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие» и представляет собой текстовый документ в кодировке UTF-8. В файле может располагаться единственная строка, определяющая вариант установки: AdmInstall= Описывает режим установки: Logon - установка выполнена с помощью logon-скрипта во время входа пользователя в домен. Restart - установка выполнена с помощью групповых политик.

19.10.2021    10066    ser6702    28    

47

Поднимаем сервер 1С на UBUNTU и PostgreSQL за 20 минут

Сервера Россия Бесплатно (free)

Краткое, но рабочее описание, как развернуть сервер Postgresql и сервер 1С на Ubuntu быстро и без лишних размышлений.

13.10.2021    24715    Lichi001    17    

36

Ферма ОДИНа или как управлять множеством Серверов 1С: Предприятие из одной точки

Мониторинг Сервера Платформа 1С v8.3 Бесплатно (free)

У Вас много серверов приложений 1С Предприятие разных версий и их надо мониторить и администрировать. Новое приложение для управления фермой ОДИНа как раз для тебя.

26.08.2021    2420    khorevaa    8    

31

Создание приложения Red Hat Fuse на основе OSGI-контейнера Karaf

Сервера Бесплатно (free)

Red Hat Fuse - это промышленная интеграционная шина. Предлагаю вашему вниманию способ ее запуска из Red Hat Code Ready Studio и тестовый пример использования Apache Camel. Система будет считывать содержимое поступающих на её вход файлов и в зависимости от заданных в них реквизитов будет перемещать эти файлы между разными папками.

10.08.2021    701    akylov2002    4    

2

Автоматический перезапуск рабочих процессов (rphost) кластера 1С

Сервера Платформа 1С v8.3 Абонемент ($m)

Служба Windows, которая выполняет автоматический перезапуск рабочих процессов (rphost) кластера 1С по заданным настройкам. Перезапуск выполняется по превышению настроенного лимита, используемой одним рабочим процессом памяти. Настройка лимита памяти может быть задана, как общая для всех рабочих серверов кластера 1С, так и индивидуально для каждого рабочего сервера по отдельности.

10 стартмани

08.07.2021    5524    zhichkin    3    

12

Как добыть последнюю версию SQL Server 2012 Native Client

Сервера Платформа 1С v8.3 Бесплатно (free)

Краткое руководство администраторам 1С по получению свежей версии SQL Server 2012 Native Client, необходимого для работы сервера 1С.

13.05.2021    18461    tedkuban    3    

8

Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана

Сервера Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом...

07.05.2021    7381    capitan    21    

48

Под капотом IIS, или как сделать WEB публикацию базы 1С без конфигуратора

Администрирование веб-серверов Бесплатно (free)

В интернете есть много инструкций как установить Internet Information Services и опубликовать на нем базу, будь то файловую, или клиент-серверную. Но, крайне мало кто пытается разобраться, как IIS работает, и что делает платформа при публикации базы. В этой статье я покажу как опубликовать базу на IIS без использования конфигуратора.

29.04.2021    18403    evvakra    14    

100

Подбираем сервер для 1C:ERP

Сервера Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

На Infostart Meetup Ekaterinburg ведущий разработчик 1С в компании ФТО Виталий Онянов рассказал, как подобрать сервер для 1С:ERP и на какие показатели ориентироваться, чтобы оборудование для высоконагруженной системы оправдало вложения.

26.03.2021    23407    Tavalik    74    

80

Служебные http-сервисы, которые работают даже в заблокированной базе

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

В этой публикации описывается опыт доступа к служебным http-сервисам в обход установленной блокировки информационной базы.

16.03.2021    6083    ardn    11    

44

Интерфейс к утилите администрирования кластера серверов для ОС Linux

Linux Сервера Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализация сценария администрирования кластера серверов для ОС Linux при СУБД - PostgreSQL.

1 стартмани

21.01.2021    5221    5    masterb    1    

3

Управление серверами (консоль Linux)

Linux Сервера Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Конфигурация-консоль администрирования кластера серверов 1С Linux.

1 стартмани

28.12.2020    7768    18    m_aster    2    

17

Использование полного DNS имени при обращении к серверу 1С через OpenVPN

Сервера Платформа 1С v8.3 Бесплатно (free)

В статье опишу настройки для работы клиента с сервером 1С по полному DNS имени. Приведу пример проброса доменной зоны используя OpenVPN.

03.11.2020    5116    malikov_pro    16    

9

Как настраивать кросс-доменные (CORS) запросы к HTTP сервису 1C на веб сервере IIS с сайтом EDIbot

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

Сервис EDIbot позволяет отобразить в виде прогрессивного веб приложения, полученный JSON по REST запросу. Разберемся, как решить проблему кросс-доменных запросов на веб сервере IIS для корректной работы HTTP сервиса 1C и сервиса.

21.10.2020    3852    SizovE    0    

7

Настраиваем PWA приложение на платформе 8.3.18 с бесплатным действительным сертификатом SSL

Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Вышла платформа 8.3.18 с поддержкой PWA приложений. Получаем БЕСПЛАТНЫЙ действительный сертификат SSL. Настраиваем прогрессивное веб приложение для опубликованной бухгалтерии 3.0 на IIS сервере.

18.10.2020    9762    IamAlexy    35    

59

Инструкция по установке redmine, gitea на Ubuntu 20.04

Администрирование веб-серверов Бесплатно (free)

В статье опишу порядок настройки сервисов для групповой работы.

06.07.2020    5538    malikov_pro    3    

13

Вариант настройки сервисов для рабочей группы

Сервера Администрирование веб-серверов Россия Бесплатно (free)

В публикации описан мой вариант построения сервисов для рабочей группы.

24.06.2020    5057    malikov_pro    0    

7