[DevOps, Kubernetes] Ansible с AWS и EC2 (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Перевод статьи подготовлен в преддверии старта курса "Инфраструктурная платформа на основе Kubernetes".
Предлагаю вам засучить рукава и погрузиться в задачи Ansible с использованием AWS EC2. Мы рассмотрим, как установить и удалить пакет с помощью Ansible.Несколько месяцев назад мне довелось поработать с RnD задачами в VizuaMatixc использованием ansible. С тех пор я не использовал Ansible для чего-нибудь более-менее полезного, но сегодня через YouTube я получил предложение вернуться к ansible снова. После просмотра я подумал, что стоит опять закатать рукава и взяться за Ansible. Я решил выполнить несколько задач Ansible с помощью AWS EC2.Для этого я использовал управляющий (master node, далее “мастер”) и подчиненный рабочий (worker node, далее “воркер”) узлы. Оба работают под управлением Ubuntu 18.04.4. Задача была очень простой. Установить медиаплеер VLC на наш рабочий узел, а затем удалить его.Для начала у нам нужно установить Ansible на мастера и воркера(-ов). Для установки просто используйте:
sudo apt install ansible
Затем нам нужно поделиться публичным ключом нашего мастера с воркером. Мы создаем ssh-ключ из мастера и передаем его воркерам.
ssh-keygen -t rsa -N “” -f /home/ubuntu/.ssh/idrsa
Затем запустите cat и скопируйте содержимое cat .ssh/idrsa.pubПерейдите в терминал воркера и vim ~/.ssh/authorized_keys вставьте содержимое вниз этого файла, сохраните и выйдите. Этот шаг объяснен здесь.Проверьте подключение, из мастера попробуйте:
ssh -i ~/.ssh/id_rsa username@instance_ip
Если наша передача ключа прошла успешно, то вы сможете войти в воркера без пароля.Затем давайте добавим наших воркеров в ansible. На мастере откройте файл /etc/ansible/hosts и добавьте в него группу. Я назвал ее [workers]. Теперь, когда вы указываете workers в своем playbook, ansible знает, какие хосты использовать при запуске playbook.[workers]
[workers]
node_ip_address
Сохранитесь, а затем мы попробуем проверить связь с нашими воркерами: ansible workers -m pingЭто должно вернуть результат, аналогичный следующему с SUCCESS и pong
| SUCCESS => {
"changed": false,
"ping": "pong"
}
Если вы получите что-то еще, вам следует перепроверить все свои настройки. До сих пор мы не меняли никаких настроек по умолчанию в AWS-EC2 или Ansible. Теперь мы готовы к установке VLC.Установка пакета с помощью PlaybookДля работы с пакетами Ansible использует playbook. Он написан на yaml и имеет достаточно прямолинейную структуру. Вы можете узнать больше о playbooks из официального руководства ansible.Это наш новый playbook для установки vlc: installvlc.yaml
---
- name: installvlc # имя playbook
hosts: workers # куда нужно устанавливать
become: true # запускать как sudo user
tasks:
- name: Install VLC Media Player
apt: # управление пакетами
name: vlc-bin
state: latest
# если вам нужна конкретная версия, вы можете указать это в state: 3.0.0
Если playbook успешно запустился, просто используйтеansible-playbook installvlc.yamlЕсли все работает правильно, вы увидите что-то вроде этого:
PLAY [installvlc] *********************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************
ok: []
TASK [Install VLC Media Player] *******************************************************************************************************
changed: []
PLAY RECAP ****************************************************************************************************************************
: ok=2 changed=1 unreachable=0 failed=0
changed=1 здесь означает, что playbook внес изменения в воркера. Если мы снова запустим playbook, вы увидите changed=0. Это означает, что изменения состояния (state) не происходило.Из воркера: когда вы введете vlc в терминале, он должен вернуть вам что-то вроде VLC media player 3.0.8 Vetinari (revision 3.0.8–0-gf350b6b5a7).Удаление пакета с помощью PlaybookЧтобы удалить пакет, нам просто нужно использовать тот же синтаксис, что и в инструкции по установке, за исключением:
state: absent
Создайте новый playbook и убедитесь, что его state изменен. Также у задачи должно быть информативное имя, чтобы вы могли различать задачи. Запускайте этот playbook как ansible-playbook uninstallvlc.yamlЗаключениеAnsible - отличный инструмент для решения задач автоматизации. Нам не нужно самому идти и вносить изменения во все узлы, просто измените yaml файл и запустите playbook. Это базовые задачи, но ansible можно использовать для настройки маршрутизаторов, устройств IoT и многого другого.Здесь я показывал, как установить и удалить пакет с помощью ansible. В следующих руководствах мы займемся вещами посложнее, такими как добавление патчей, изменение конфигураций и т. д.Бесплатный Demo-урок по теме: "Повышаем надежность развертывания в Kubernetes"
===========
Источник:
habr.com
===========
===========
Автор оригинала: Sachith Muhandiram
===========Похожие новости:
- [Системное администрирование, IT-инфраструктура, Серверное администрирование, DevOps] Используем Ansible вместе с Terraform (перевод)
- [Системное администрирование, IT-инфраструктура, Серверное администрирование, DevOps] Представлена Grafana Tempo, широко масштабируемая распределенная система трассировки (перевод)
- [Программирование, Scala] 5 уроков, которые я извлек для себя, продолжая осваивать ZIO (перевод)
- [Open source, *nix, Виртуализация, Openshift] Создаем настраиваемые отчеты для оператора Metering
- [Системное администрирование, Программирование, DevOps, Kubernetes] Что такое GitOps? Расширяем DevOps на Kubernetes и дальше (перевод)
- [IT-инфраструктура, Виртуализация, Конференции, Облачные сервисы] Вебинар — Как организовать связность с публичными, частными и глобальными облаками
- [Программирование, Анализ и проектирование систем, Промышленное программирование] Принципы объектно-ориентированного программирования
- [Облачные вычисления, DevOps, Облачные сервисы, Kubernetes] Как устроен Kubernetes as a Service на платформе Mail.ru Cloud Solutions
- [Системное администрирование, IT-инфраструктура, Управление разработкой, DevOps] Митап по SRE: вторник, 3 ноября, 19:00 по Москве
- [IT-инфраструктура, DevOps, Облачные сервисы, Софт] Этапы внедрения CI/CD (перевод)
Теги для поиска: #_devops, #_kubernetes, #_aws, #_devops, #_kubernetes, #_ansible, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_devops, #_kubernetes
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:21
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Перевод статьи подготовлен в преддверии старта курса "Инфраструктурная платформа на основе Kubernetes". Предлагаю вам засучить рукава и погрузиться в задачи Ansible с использованием AWS EC2. Мы рассмотрим, как установить и удалить пакет с помощью Ansible.Несколько месяцев назад мне довелось поработать с RnD задачами в VizuaMatixc использованием ansible. С тех пор я не использовал Ansible для чего-нибудь более-менее полезного, но сегодня через YouTube я получил предложение вернуться к ansible снова. После просмотра я подумал, что стоит опять закатать рукава и взяться за Ansible. Я решил выполнить несколько задач Ansible с помощью AWS EC2.Для этого я использовал управляющий (master node, далее “мастер”) и подчиненный рабочий (worker node, далее “воркер”) узлы. Оба работают под управлением Ubuntu 18.04.4. Задача была очень простой. Установить медиаплеер VLC на наш рабочий узел, а затем удалить его.Для начала у нам нужно установить Ansible на мастера и воркера(-ов). Для установки просто используйте: sudo apt install ansible
ssh-keygen -t rsa -N “” -f /home/ubuntu/.ssh/idrsa
ssh -i ~/.ssh/id_rsa username@instance_ip
[workers]
node_ip_address | SUCCESS => {
"changed": false, "ping": "pong" } ---
- name: installvlc # имя playbook hosts: workers # куда нужно устанавливать become: true # запускать как sudo user tasks: - name: Install VLC Media Player apt: # управление пакетами name: vlc-bin state: latest # если вам нужна конкретная версия, вы можете указать это в state: 3.0.0 PLAY [installvlc] *********************************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************** ok: [] TASK [Install VLC Media Player] ******************************************************************************************************* changed: [] PLAY RECAP **************************************************************************************************************************** : ok=2 changed=1 unreachable=0 failed=0 state: absent
=========== Источник: habr.com =========== =========== Автор оригинала: Sachith Muhandiram ===========Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_devops, #_kubernetes |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:21
Часовой пояс: UTC + 5