Juju Ubuntu что это такое

Обновлено: 22.11.2024

В этом уроке вы познакомитесь с Ubuntu Juju, инструментом управления службами с открытым исходным кодом.

Продолжительность: 1 час

Необходимое условие¶

Для проведения этого урока вы должны знать

Описание¶

Ubuntu Juju – это инструмент управления конфигурацией с открытым исходным кодом для развертывания и подготовки программного обеспечения в виртуализированной среде. MySQL, RabbitMQ, OpenStack, WordPress, Apache, MediaWiki, MongoDB, Hadoop и многие другие программы доступны в официальном репозитории Juju — Juju Charm Store. Juju Charm – это структурированный набор файлов с метаданными, данными конфигурации и крючками, а также некоторыми дополнительными вспомогательными файлами для предоставления облачного программного обеспечения.

Этот урок охватывает:

  • Установка Juju на Ubuntu (или Windows)
  • Быстрый старт Джуджу
  • Графический интерфейс Джуджу
  • Media Wiki или WordPress
  • iptables для виртуальных сетей

Установка Juju на FutureSystems¶

Здесь мы используем экземпляр виртуальной машины OpenStack для запуска Juju.

Установка в Ubuntu¶

  • Запустите экземпляр виртуальной машины с futuresystems/Ubuntu-14.04.

Находясь в экземпляре ВМ, обновите списки пакетов с помощью следующих команд:

Установите пакеты Juju:

Установка на OSX (необязательно)¶

Попробуйте использовать Homebrew для установки Juju на OSX:

Установка в Windows (необязательно)¶

Установка в Windows и OSX не проверялась нашей командой.

Проверка установки¶

Настройка облачной среды¶

На этом шаге вы выбираете поставщика облачных услуг. Вы можете просто выбрать локальную среду. Juju развернет программное обеспечение внутри вашего экземпляра ВМ.

Графический интерфейс Джуджу¶

juju-quickstart содержит графический интерфейс Juju. Вы можете использовать веб-браузер для управления своими услугами в Juju.

Настройка IP-таблиц¶

Поскольку графический интерфейс Juju работает с виртуальной сетью на вашем экземпляре виртуальной машины, вам необходимо настроить iptables. Ваш графический интерфейс Juju будет обслуживаться на вашем плавающем IP-адресе с правилами FORWARD.:

Вы можете найти IP-адрес вашего графического интерфейса Juju с помощью следующей команды:

Вы можете найти публичный адрес в разделе juju-gui:

Пароль администратора¶

Чтобы войти в Juju GUI, вам потребуется имя пользователя и пароль. Когда вы запускаете службу с помощью juju-quickstart, имя пользователя и пароль будут напечатаны на вашем экране. Используйте их для входа.

Если вы хотите получить базовые сведения о Джуджу, это хорошее место для начала!

1) Что такое Джуджу?

Juju – это современный инструмент моделирования сервисов с открытым исходным кодом. Он является частью облачного портфолио Ubuntu вместе с Ubuntu Server, Ubuntu OpenStack, MAAS для подготовки к работе на «голом железе» и Ландшафтом для управления и мониторинга систем. Juju позволяет быстро и эффективно моделировать, настраивать, управлять, поддерживать, развертывать и масштабировать облачные сервисы в общедоступных облаках, а также в контейнерах MAAS, OpenStack и LXD. Вы можете использовать Juju из командной строки или через красивый и мощный графический интерфейс.

2) Что такое моделирование услуг?

Мы рассматриваем моделирование сервисов как возможность быстро и легко развертывать сервисы и управлять ими (будь то облачная инфраструктура, такая как OpenStack, или рабочая нагрузка, такая как Hadoop), подключать эти сервисы и быстро масштабировать их вверх или вниз, и все это без сбоев. в вашу облачную среду. Информация о конкретном приложении, включая конфигурацию, зависимости и т. д., инкапсулируется в файлы определения службы, называемые «чармами». Все, что вам нужно сделать, это вызвать доступный брелок (или написать свой собственный), и соответствующий сервис будет развернут за считанные секунды.

3) Могу ли я использовать Juju с Puppet или Chef?

Puppet и Chef — отличные инструменты для настройки серверов и обеспечения их согласованности в сети. Juju работает на более высоком уровне, сосредотачиваясь на услуге, которую предоставляет приложение, независимо от машины, на которой оно работает. Одним из основных преимуществ Juju является возможность динамической настройки, которая позволяет вам перенастраивать службы на лету, добавлять, удалять или изменять отношения между службами, а также с легкостью увеличивать или уменьшать масштаб. Если вы используете инструмент управления конфигурацией для запуска и запуска своих машин, Juju может дополнить его уровнем моделирования сервисов, который выполняет все задачи, описанные выше. Интеграция довольно проста. Поскольку чудо-кнопки Juju могут быть написаны на любом языке, вы можете включить существующий код Puppet или Chef в чудо-кнопку Juju. Нет необходимости писать новый код. Смоделируйте, подключите и настройте. Браузер чудо-кнопок содержит сотни чудо-кнопок и пакетов, позволяющих создавать сложные сервисы и просматривать их развертывание в графическом интерфейсе.

4) Что такое наборы Juju?

Набор представляет собой набор чудо-кнопок, предназначенных для полного рабочего развертывания в одном удобном наборе. Например, существуют существующие кластерные пакеты Hadoop и MongoDB, которые можно развернуть с помощью одной команды или простого перетаскивания в графическом интерфейсе Juju.Пакеты Rails и Django позволяют вашим разработчикам запускать рабочие нагрузки на своих ноутбуках и работать в среде, похожей на реальное производственное развертывание. Новые наборы добавляются каждую неделю. Отличным дополнением к пакетам является Quickstart, плагин, который позволяет вам загрузить Juju, запустить его и графический интерфейс и даже развернуть пакет — и все это с помощью одной команды. Вы можете перейти от нуля к полному облачному развертыванию за считанные секунды.

5) Могу ли я использовать Juju в среде, отличной от Ubuntu?

Клиент Juju может работать на любом компьютере с Windows, OSX или Linux. Что касается развертывания в системах, отличных от Ubuntu, в настоящее время мы поддерживаем развертывание в CentOS и Windows, а на горизонте — поддержка SUSE Enterprise Linux и Debian. Отслеживайте, управляйте и обслуживайте. Графический интерфейс пользователя Juju предлагает комплексные инструменты, которые позволяют масштабировать, сортировать ошибки и обновлять службы.

6) Могу ли я использовать Juju для перемещения сервисов между облаками?

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

7) На каком языке написаны заклинания?

Чармы могут быть написаны на любом языке, который может работать в Ubuntu, например. Python, Ruby, PHP или даже простой bash-скрипт. Некоторые чудо-кнопки даже повторно используют существующие кулинарные книги Chef или Ansible, что является выигрышным сочетанием повторного использования и расширяемости.

8) Какие брелоки доступны в настоящее время?

9) Могу ли я написать свои чары? Как?

10) Итак, почему я должен использовать Juju?

11) Мне нужна поддержка корпоративного уровня. Это доступно?

12) Где я могу узнать больше?

На страницах Ubuntu Cloud вы найдете обзор наших облачных продуктов и того, как Juju вписывается в них.

На страницах сообщества Juju есть информация о чудо-кнопках, о том, как начать работу, и многое другое.

Что такое Kubernetes?

Kubernetes, или сокращенно K8s, — это платформа с открытым исходным кодом, впервые разработанная Google. Сначала она была простым инструментом оркестрации контейнеров, а затем превратилась в платформу для развертывания, мониторинга и управления приложениями и службами в облаках.

Juju — это Charmed Operator Framework, состоящий из Charmed Operator Lifecycle Manager и Charmed Operator SDK. Беспрепятственно развертывайте, интегрируйте и управляйте приложениями Kubernetes, контейнерами и виртуальными машинами в гибридных облаках. Juju управляет операциями с 0 по 2 день в вашей сложной среде.

Когда вам нужно.

Развертывание, интеграция и управление приложениями в нескольких средах K8 или виртуальных машин

Часто создавайте сложные среды

Управление приложениями и службами в мульти- или гибридных облаках

Управление операциями дня 0 – 2 в масштабе

<р>. Джуджу поможет вам взять под контроль

Что такое Джуджу?

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

Juju — это программное обеспечение, управляющее вашим программным обеспечением. Это поможет вам взять под контроль все ваши приложения, инфраструктуру и среду. Вы используете его для

  • Сэкономьте своей команде бесконечные часы управления сценариями
  • Минимизировать расходы
  • Обеспечить избыточность и отказоустойчивость.
  • Отслеживание всех действий на разных носителях
  • Оптимизируйте гибридную облачную архитектуру

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

Простой пример:

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

  • развернуть
  • удалить-приложение
  • обновить
  • обновить
  • конфигурация
  • доверять
  • перенести
  • журнал отладки
  • создать резервную копию
  • добавить-k8s
  • добавить машину
  • добавить облако

Все ваше имущество

Juju использует Charmed Operators («Charms») и Charmed Operator Lifecycle Manager, чтобы контролировать развертывание, обновление, интеграцию, управление и эксплуатацию этих рабочих нагрузок в вашем гибридном облаке.

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

Это позволяет вашей операционной команде управлять приложениями и сценариями, а не зацикливаться на конфигурациях (хотя они могут погрузиться в YAML, когда захотят).

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

Модели, отношения между моделями и управляемые моделями операции дают вам возможность управлять развертыванием и операциями в масштабе, в гибридных облаках, через интерфейс командной строки или с помощью визуального инструмента, такого как графический интерфейс пользователя Juju или JAAS.

Благодаря программному обеспечению, управляющему вашим программным обеспечением, ваша команда может получить контроль над всеми вашими приложениями, инфраструктурой и средами — за меньшее время — без головной боли, связанной с разрастанием YAML.

Жужу поддерживает

Общедоступные облака

Частное облако

Кубернет

Локальный хост

Операторы

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

Константин Будник, EPAM Systems

Использование идеала моделирования, предложенного Juju, позволяет мне быстро запускать приложения для работы с большими данными во множестве мест. Будь то локально на моем ноутбуке, на «голом железе» или в облаке, Juju позволяет мне повторно использовать одни и те же модели и код без изменения каких-либо аспектов моего развертывания.

Том Барбер, Spicule LTD

Juju позволяет вам инкапсулировать каждую часть вашей инфраструктуры и позволяет всему взаимодействовать друг с другом. Таким образом, если у вас есть веб-сервер, которым управляет Chef, и база данных, развернутая в контейнере Docker, вы можете очень легко заставить веб-сервер взаимодействовать с базой данных и отношениями между ними.

Merlijn Sebrechts, Ghent University< /цитата>

Juju легко интегрируется с нашей текущей системой ATS.

Сара В.

Мне нравится, как легко Juju упрощает развертывание сервисов практически в любой облачной конфигурации. Это также упрощает настройку отношений между указанными службами. Я очень впечатлен тем, насколько просто с ним работать. Я до сих пор восхищаюсь тем, как просто было настроить MaaS и Juju.

Абрахам С

Простая, но мощная подготовка и настройка облака с помощью одного инструмента. Juju доступен в командной строке, а также с простым в установке веб-интерфейсом пользователя. Экосистема предоставляет большое количество чудо-кнопок (пакетов, определяющих сервисы и их конфигурацию, а также перехватчики среды выполнения) и может использоваться от тестирования с локальными контейнерами LXC до Amazon, OpenStack, Azure и т. д.

Пользователь на компьютере и сетевая безопасность

Его очень легко реализовать и поддерживать. Я реализовал некоторые частные чары в своем частном облаке на MAAS, все работает отлично.

Пользователь в области биотехнологии

Это руководство знакомит вас с развертыванием Juju и очарованных операторов на локальном компьютере с Ubuntu. Если вы используете MS Windows или macOS, вы все равно можете следовать этому руководству, установив Multipass. К концу этого руководства у вас будет работающее веб-приложение, поддерживаемое базой данных.

Содержание:

Пользователи MS Windows и macOS. Необязательный шаг для пользователей Ubuntu.

Создайте тестовую среду

Инструкции в этом руководстве основаны на системе Ubuntu. В этом разделе подробно описано, как быстро создать тестовую среду в MS Windows и macOS с помощью виртуальной машины, развернутой с помощью Multipass.

Этот раздел также полезен для тех, кто уже использует Ubuntu, но хотел бы создать изолированную тестовую среду, которую можно было бы легко удалить.

Информация: Multipass — это инструмент для быстрого запуска виртуальных машин из любой операционной системы хоста. Это позволит вам создать полностью изолированную тестовую среду, которая не повлияет на вашу хост-систему.

Установить многопроходную

Создать виртуальную машину

Чтобы запустить виртуальную машину с именем, например, «микрооблако», для которой выделено 8 ГБ ОЗУ, выполните:

Multipass подтвердит создание:

После того, как multipass загрузит последнюю версию операционной системы Ubuntu с долгосрочной поддержкой, вы сможете войти в командную строку с помощью команды оболочки:

Это дает вам доступ к оболочке (вы можете увидеть другой запрос, в зависимости от установленной версии):

Теперь вы готовы следовать остальной части этого руководства на нашем недавно созданном компьютере с Ubuntu. Все команды должны быть набраны в этой оболочке. Когда вы закончите, вы можете запустить multipass destroy microcloud, чтобы удалить Multipass и удалить все следы этого руководства.

Установите клиент Juju

Мы установим клиент Juju с помощью оснастки: это самый простой и быстрый способ начать работу с Juju. Мы также предоставляем инструкции по установке на некоторых других системах.

Следующая команда установит клиент Juju:

Если установка прошла успешно, вы увидите следующее сообщение:

Создать локальное облако

Мы будем использовать LXD для создания облака на локальном хосте. LXD уже должен быть установлен в вашей системе Ubuntu. (Более подробное руководство см. в разделе Как настроить облако LXD.)

Информация: LXD — это системный контейнер и менеджер виртуальных машин. Juju использует его для создания набора контейнеров, необходимых для приложения.Нужно установить LXD? Инструкции по установке см. в документации LXD.

Настроить LXD

Juju взаимодействует напрямую с локальным демоном LXD, для которого также требуется членство в группе lxd.

Затем LXD необходимо настроить для своей среды:

Наконец, необходимо отключить IPv6:

Убедитесь, что локальное облако доступно

Наше локальное облако установлено. Мы можем убедиться в этом, запустив облака juju:

Juju должен был обнаружить наличие LXD и добавить его в качестве локального облака:

Загрузите контроллер Juju OLM

Juju использует активный программный агент, называемый контроллером, для управления приложениями. Контроллер устанавливается на машину в процессе начальной загрузки. Код ниже иллюстрирует это для контроллера под названием «overlord».

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

Размещение очарованных операторов

Зачарованное имя оператора hello-juju преобразуется в настоящую зачарованную версию оператора, связавшись с Charmhub. Затем этот очарованный оператор загружается контроллером и используется в качестве источника приложения, созданного с тем же именем:

Следующий шаг — использовать juju expose для настройки необходимых групп безопасности и правил брандмауэра, а также сделать приложение hello-world общедоступным по сети:

Теперь, когда рабочая нагрузка установлена, используйте статус juju, чтобы проверить, что происходит. Запуск приложения может занять несколько минут, но как только оно будет готово, в выходных данных будет показано состояние приложения hello-juju как активное:

Запуск приложения может занять несколько минут, но как только оно будет готово, вывод покажет, что статус приложения hello-juju активен:

Подключиться к приложению

Вышеприведенный вывод состояния juju предоставил «Общий адрес» устройства hello-juju/0 как 10.47.112.215 и его «Порт» как 80/tcp . Подключаемся!

Если подключение прошло успешно, вы увидите:

Связать очарованных операторов

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

Веб-сервер hello-juju ведет подсчет каждого приветствия, отправленного через конечную точку /greetings.

По умолчанию это состояние поддерживается в базе данных SQLite, настроенной самим очарованным оператором hello-juju. В этом разделе мы развернем базу данных PostgreSQL и свяжем ее с нашим очарованным оператором hello-juju.

Для развертывания базы данных PostgreSQL мы будем использовать ту же команду развертывания:

Для развертывания чудо-кнопки PostgreSQL может потребоваться несколько секунд. Вы можете проверить статус развертывания, выполнив:

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

Чтобы связать два очарованных оператора, все, что нам нужно сделать, это запустить:

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

Повторно проверьте статус развертывания

При наличии другого приложения и отношения вывод статуса juju расширился:

Читайте также: