Семь видов оружия Ansible и введение в JSON, YAML, Jinja2

Семь видов оружия ансибля

Первый

-смысловая команда, используемая для выполнения временной работы, должна быть освоена

Второй

-ansible-doc - это описание в документации для модуля ansible. Для каждого модуля есть подробные инструкции и описания приложений. Функция аналогична функции man в системе Linux и должна быть освоена.

Третий

-Ansible-console - это интерактивный инструмент, предоставляемый ansible для пользователей. Пользователи могут использовать различные встроенные команды ansible на терминале, виртуализированном с помощью ansible-console, как оболочка. Это обеспечивает хорошее использование для пользователей, которые привыкли использовать оболочку. взаимодействие. Опыт

Четвертый

-ansible-galaxy загружает инструмент для управления ролями из github, похожий на python pip

Пятый

-ansbile-playbook - это наиболее часто используемая команда в повседневных приложениях.Рабочий механизм: пакетное управление реализуется путем чтения файла playbook, который был написан первым, что можно понимать как доступный набор задач, состоящий из определенных условий, которые необходимо освоить

Шестой

-ansible-vault в основном используется для шифрования файла конфигурации. Например, записанный файл playbook содержит конфиденциальную информацию, в отличие от других, которые могут просматривать его по желанию, его можно использовать для шифрования / дешифрования этого файла.

Седьмой

-ansible-pull
-Ansible имеет два режима работы, pull / push, и режим push используется по умолчанию. Механизмы рабочего режима pull и push - прямо противоположные.
-Сценарий использования: существует большое количество машин, которым необходимо быть настроенным, даже если используется много одновременных потоков, это все равно занимает много времени.
-Обычно используется в сценарии настройки большого количества машин, гибкости немного не хватает, но эффективность можно повысить почти бесконечно, а технический уровень и дальновидное планирование обслуживающего и обслуживающего персонала должны быть выше.
=============================== ================================================== ================================================== =========================== ======================= =========================== ======================= =========================== ======================= ======= Введение в JSON

Что такое JSON

-JSON - это обозначение объекта JavaScript, который представляет собой упрощенный формат обмена данными, основанный на независимости текста и языка.
-Разделитель в JSON ограничен одинарными кавычками «'», круглыми скобками «()», квадратными скобками «[]», фигурными скобками "{}", двоеточие ":" и запятая ","

Возможности JSON
- JSON - это простой текст -
JSON является "самоописательным" (читаемым человеком) -
JSON имеет иерархическую структуру (в значении есть значение) -
JSON может быть проанализирован с помощью JavaScript

Правила синтаксиса JSON

-Данные находятся в парах имя / значение
-Данные разделяются запятыми
-Вьющиеся скобки содержат объекты
-Квадратные скобки содержат массивы

Формат записи данных JSON: пара имя / значение

-Пара имя / значение включает имя поля (в двойных кавычках), за которым следует двоеточие, а затем значение, например: «诗仙»: «李白»

Массив правил синтаксиса JSON

{"Поэт":
["Ли Бай", "Ду Фу", "Бай Цзюй", "Ли Хэ"]
}

Сложный комплексный тип

{«Поэт»:
[{«Ли Бай»: «Поэтическая фея», «Год»: «Тан»},
{«Ду Фу»: «Поэтический мудрец», «Год»: «Тан»},
{«Бай Цзюйи ":" Поэтический демон "," Год ":" Тан "},
{" Ли Хэ ":" Поэтический призрак "," Год ":" Тан "}
]
}

Введение в YAML

Что
такое YAML - это хорошо читаемый формат, используемый для выражения последовательностей данных -
YAML (YAML - это не язык разметки) -
YAML относится к нескольким языкам, таким как: язык C, Python, Perl и т. Д., А также из XML, вдохновленный формат данных электронной почты, Кларк Эванс впервые опубликовал этот язык в 2001 году. В настоящее время существует несколько языков программирования или языков сценариев, которые поддерживают этот язык.

Базовый синтаксис YAML

-Структура YAML отображается пробелами
-массив представлен «-»
-пара ключ-значение представлена «:»
-YAML использует фиксированный стиль отступа для выражения взаимосвязи иерархии данных-
обычно есть два уровни отступа Вышеуказанные пробелы состоят из
- # означает комментарий

  • Примечание:
    -не используйте табуляторы, отступы - одно из мест, где новички могут сделать ошибки-
    одинаковый уровень отступа должен быть выровнен

Метод представления значения ключа YAML

-Отделяется двоеточием
-: после
пары ключ-значение -YAML должен быть пробел.

"诗仙":"李白""李白":
   "诗仙"

-Вложение сложных пар ключ-значение YAML

"诗人":
    "李白":"诗仙""诗人":
    "李白":
       "诗仙"

Множество

["李白","杜甫","白居易","李贺"]

Метод представления массива YAML
- используйте тире и
пробел - пример массива YAML

-"杜甫"
-"李白"
-"白居易"
-"李贺"

-Сложное выражение хеш-массива

"诗人":
  -"李白"
  -"杜甫"
  -"白居易"
  -"李贺"

-Расширенные составные выражения

 "诗人":
    - "李白":"诗仙"
      "年代":"唐"
    - "杜甫":"诗圣"
      "年代":"唐" 
    - "白居易":"诗魔"
      "年代":"唐"
    - "李贺":"诗鬼"
      "年代":"唐"

Введение в шаблоны Jinja2

Что такое Jinja2

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

Зачем изучать шаблон Jinja2

-Поскольку шаблон playbook использует модуль PythonDEJinja2 для обработки

Базовый синтаксис шаблона Jinja2

-Все выражения шаблона содержатся в разделителе "{ {}}"
-Все операторы управления содержатся в разделителе "{%%}"
-Шаблон поддерживает комментарии, которые все содержатся в разделителе "{# #} "комментарий блока поддержки
- вызов переменных
{ {}} // коннотации запроса переменная имя_переменной kibana -m Настройка возможности
- вычисление
{ {3}} + 2
- Анализ
{ {. 1 in [l, 2,3]}}

Оператор управления шаблоном Jinja2

{% if name == '诗仙'%}
李白
{% eif name == '诗仙'%}
杜甫
{% eif name == '诗仙'%}
白居易
{% else %}

Ли Хэ
{% endif%}

{% if name == ... ... %}
   ... ...
{% elif name == '于谦' %}
  {% for method in [抽烟,喝酒,烫头]%}
     {
   
   {do method}}
  {% endfor %}
   ... ...
{% endif %}

================================================== ================================================== знак равно

Jinja2 фильтр

-Переменные можно изменять с помощью фильтров. Фильтры и переменные разделяются вертикальной чертой (|), или необязательные параметры могут быть переданы в круглых скобках, несколько фильтров могут быть объединены в цепочку, и выходные данные предыдущего фильтра будут использоваться в качестве следующего фильтра. Вход

Например: -Шифрование
-a строка: { ('astr' | password_hash ('sha512')))
-Фильтры не будут перечислены здесь, вы можете проверить онлайн-документацию, если она вам нужна.
Http: //docs.jinkan. org / docs /jinja2/templates.html
# builtin-filters
++++++++++++++++++++++++++++++++++++ +++++ +++++++++++++++++++++++++++++++++++++++++++

рекомендация

отblog.csdn.net/weixin_45942735/article/details/104288465