0Pricing
Ansible Academy · Урок

Автоматизация сетевых устройств с cli_command

Отправляйте конфигурацию на коммутаторы и маршрутизаторы

«Автоматизация сетевых устройств с cli_command» — бесплатный урок Ansible Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.

Цели — не только серверы

Ansible может управлять также маршрутизаторами и коммутаторами, а не только узлами Linux. Сетевая автоматизация передаёт конфигурацию устройствам по SSH или через API. 🌐

Чем сетевые устройства отличаются

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

vars:
  ansible_connection: ansible.netcommon.network_cli
  ansible_network_os: cisco.ios.ios

Познакомьтесь с cli_command

Модуль cli_command отправляет сетевому устройству необработанную команду и возвращает её вывод — так же, как если бы Вы сами ввели её в приглашении устройства.

- name: Show version
  ansible.netcommon.cli_command:
    command: show version

Сохраните вывод

Используйте register, чтобы сохранить ответ устройства. Результат попадает в stdout и готов для последующей проверки или обработки.

- name: Read running config
  ansible.netcommon.cli_command:
    command: show running-config
  register: cfg

Отправляйте команды конфигурации

Чтобы изменить конфигурацию, устройство должно находиться в режиме настройки. cli_config безопасно выполняет за Вас вход в этот режим и выход из него.

- name: Set hostname
  ansible.netcommon.cli_config:
    config: hostname core-sw01

Отвечайте на интерактивные запросы

Некоторые команды запрашивают подтверждение. cli_command может отвечать автоматически с помощью пар prompt и answer, чтобы сценарий никогда не зависал.

- ansible.netcommon.cli_command:
    command: reload
    prompt:
      - Proceed with reload
    answer:
      - 'y'

Независимость от производителя по замыслу

Одна и та же задача cli_command работает с Cisco, Juniper и Arista. Меняется только ansible_network_os, поэтому стиль остаётся единообразным.

Используйте модули платформы, когда возможно

Для структурированных идемпотентных изменений отдавайте предпочтение модулям вроде cisco.ios.ios_config. Используйте cli_command, когда подходящего специализированного модуля нет.

- cisco.ios.ios_config:
    lines:
      - description uplink to core
    parents: interface GigabitEthernet0/1

Учётные данные по SSH

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

vars:
  ansible_user: netadmin
  ansible_password: "{{ vault_net_pass }}"

Сохраните текущую конфигурацию

Изменения находятся в текущей конфигурации до момента сохранения. Выполните команду записи, чтобы настройки пережили перезагрузку устройства. 💾

- ansible.netcommon.cli_command:
    command: write memory

Откуда берутся эти модули

cli_command входит в коллекцию ansible.netcommon. Установите её из Galaxy, прежде чем использовать в сетевых сценариях.

ansible-galaxy collection install ansible.netcommon

Быстрая проверка

Проверим, как следует обращаться к коммутатору.

Итоги

Модуль cli_command через подключение network_cli позволяет Ansible выполнять и сохранять команды на коммутаторах и маршрутизаторах по SSH. ✅

Часто задаваемые вопросы

Урок «Автоматизация сетевых устройств с cli_command» бесплатный?

Да — полный текст урока «Автоматизация сетевых устройств с cli_command» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.

Чему я научусь в уроке «Автоматизация сетевых устройств с cli_command»?

Отправляйте конфигурацию на коммутаторы и маршрутизаторы Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Ansible Academy?

Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Автоматизация сетевых устройств с cli_command»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Ansible Academy?

Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Автоматизация сетевых устройств с cli_command
  2. delegate_to и run_once для оркестрации
  3. Координация уровней веб-сервера, приложения и DB
  4. Вывод узлов из балансировщика и повторное включение
← Назад к Ansible Academy