Балансировщик нагрузки F5 поддерживает CasC (конфигурация как код)?

9

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

Этот инструмент поддерживает это? Являются ли отдельные файлы конфигурации (SCF, F5 термин) средством для этого?

Петр Мурышкин
источник

Ответы:

11

Да, F5 поддерживают конфигурацию как код. Исторически F5 создавал устройство для управления Конфигурацией в виде кода под названием «Enterprise Manager», которое прагматично управляло конечными точками клиента F5 (LTM и т. Д.) С помощью iControl XML API.

Они довольно быстро обнаружили, что это управляющее устройство было ужасным, и добавили более надежный REST API к клиентским устройствам для управления устройствами (LTM и т. Д .; также маркированными как iControl), которые намного проще в использовании и более гибкими, а затем начали создавать замену Менеджер предприятия под брендом BIG-IQ.

Дело в том, что вы можете управлять тем же API, используя этот интерфейс REST. Смотрите их учебник на DevCentral . Обычно вы можете найти точный синтаксис REST и вызовы на сайте DevCentral для каждой версии, как этот для TMOS 12.1.0 .

Вообще говоря, НЕ рекомендуется использовать SCF (Single Configuration File) почти всегда по нескольким причинам. Во-первых, в нем отсутствуют какие-либо вспомогательные файлы, такие как сертификаты и ключи для ваших профилей SSL или сценариев (так называемые «внешние» мониторы работоспособности) и т. Д. Во-вторых, он плохо воспроизводится, если вы используете разбиение, так как разделы распределяются по нескольким сложенная структура. Они плохо объединяются в файл SCF. На самом деле вам лучше написать сценарии TMOS. Одна из причин, по которой F5 переключился с команды bigpipe на оболочку TMOS, заключается в том, что она может быть написана в сценарии, тогда как bigpipe не может быть легко написана. Но опять же, REST API является предпочтительным. SCF действительно являются наследием 9-й версии TMOS, и они не очень хорошо состарились и плохо работают в 12-й версии. Существенная причина этого связана с изменениями в пиринге HA между V10 и V11, когда они изменились на кластерную архитектуру. Это действительно нанесло ущерб юзабилити SCF.

В Puppet действительно есть модуль для управления F5, если вы используете этот инструмент управления конфигурацией, и у соли есть для него бегун - оба используют REST API, если вы используете любой из этих инструментов управления конфигурацией.

Джеймс Шиви
источник
2
Ansible также имеет ряд модулей для настройки F5s.
бойкот SE для Моники
2
Дж. Доу; Джеймс ударил ногтем по голове. REST - это путь к программируемости, а Xiong также подходит для средств автоматизации. У нас (сотрудник F5 здесь) есть репозиторий git, в котором есть довольно много этих инструментов, которые вы будете искать (Kubernetes, Ansible, Python ....). Проверьте все это, и если у вас есть вопросы, не стесняйтесь связаться со мной здесь или на веб-сайте DevCentral (сообщество разработчиков F5).
Погоня
4

Джеймс, ты прав в том, что BIG-IQ заменил Enterprise Manager. Однако, как и Enterprise Manager, BIG-IQ предназначен для управления «устройством / функцией». Для непосредственной интеграции с API REST или с инструментами / цепочками автоматизации сторонних производителей вам следует обратиться к F5 iWorkflow (программируемый / расширяемый API-шлюз).

Команда iWorkflow сосредоточена на «шаблонах сервисов» и «каталогах сервисов». Это отличные способы быстрого создания «декларативных интерфейсов», которые можно использовать с помощью отдельных вызовов REST, вместо вызова сотен «обязательных интерфейсов» (отдельных конечных точек REST) ​​для выполнения одной и той же задачи.

Переход к декларативной модели избавит вас от МНОГО головных болей в будущем и улучшит поддержку автоматизации и интеграции с конвейерами CI / CD. Последнее, что вам нужно, это перенести все нюансы вашей инфраструктуры в саму линию автоматизации !! Абстракция через декларативный интерфейс защитит вас от этой ямы отчаяния.

С декларативными интерфейсами REST + вы получаете гораздо более простую модель «Инфраструктура как код», так как вы поддерживаете только двоичные объекты JSON для шаблонов служб, а не монолитные файлы конфигурации. Дважды WIN!

Посмотрите на вызов iApps (шаблоны служб F5) из REST API. Вот бесплатный онлайн-курс обучения:

http://f5-automation-labs.readthedocs.io/en/latest/

Погоня = Правильно! Отдых на всем пути!

Натан Пирс
источник