Рубрики
Без рубрики

OpenShift for Dummies – Часть 2

Спасибо, что прочитали вторую часть OpenShift для чайников! В этой статье я кратко нарисую … Tagged с DevOps, Docker, Kubernetes, Python.

OpenShift for Dummies (серия 2 частей)

Спасибо, что прочитали вторую часть OpenShift для чайников! В этой статье я кратко опишу преимущества и варианты использования OpenShift. Кроме того, я буду вдаваться в технические детали того, как вы можете начать использовать OpenShift. В качестве напоминания, OpenShift является открытым исходным кодом и имеет бесплатный уровень, предназначенный для экспериментов и разработки, который идеально подходит для начинающих. Если вы не читали OpenShift для чайников – часть 1, прочитайте его здесь, прежде чем продолжить. В последнем посте мы говорили о контейнерах и их преимуществах по сравнению с виртуальными машинами, но эти важные вопросы все еще остаются: почему вы должны использовать OpenShift и как начать его использовать?

В Kubernetes для чайников мы говорили о необходимости системы оркестровки контейнеров. В 2015 году было много разных систем оркестровки, которые люди использовали, включая облачный литейный, мезосферу, Docker Swarm и Kubernetes. Сегодня рынок консолидировался, и Kubernetes вышел на первое место. Red Hat Bet на раннем этапе K8S и в настоящее время является вторым по величине участником и влиятельным ее направлением, только рядом с Google. K8S является ядром распределенных систем, в то время как OpenShift является его распределением. Для разработчиков это означает, что всякий раз, когда есть новая версия Kubernetes, Red Hat может взять K8s из Upstream, защищать ее, проверить и сертифицировать его с помощью аппаратных и поставщиков программного обеспечения. Кроме того, Red Hat Patches 97% всех уязвимостей безопасности в течение 24 часов и 99% в течение первой недели, показывая разницу между Red Hat и их конкуренцией.

OpenShift, платформа будущего

OpenShift – это платформа, которая может работать в предпосылке, в виртуальной среде, в частном облаке или в общедоступном облаке. Вы можете перенести все свои традиционные приложения в OpenShift, чтобы получить все преимущества контейнеризации, а также программное обеспечение от независимых поставщиков программного обеспечения. Вы также можете создавать облачные приложения Greenfield (Greenfield описывает совершенно новый проект, который должен выполняться с нуля), а также интегрировать функции машинного обучения и искусственного интеллекта. OpenShift также предоставляет автоматизированные операции, многоцелевые, безопасные по возможностям по умолчанию, управление сетевым трафиком и опцию для возврата и отображения. OpenShift также подключен, поэтому вы можете представить сторонних поставщиков безопасности, если хотите. Разработчики также получают портал по обеспечению самообслуживания, чтобы операционные команды могли определить, что доступно для разработчиков, и разработчики могут запросить элементы управления в соответствии с разрешением операционной команды. Платформа OpenShift очень универсальна в том, что она работает на большинстве общественных облачных сервисов, таких как AWS, Azure, Google Cloud Platform, IBM Cloud и, конечно, она также работает в локальном уровне.

Вы можете использовать пробную версию OpenShift, посетив: https://www.redhat.com/en/products/trials?products=hybrid-cloud

Для этой демонстрации вам понадобится учетная запись Red Hat. Мы будем выбрать вариант, который ясно говорит: «Red Hat OpenShift – готовая к предприятиям контейнерная платформа Kubernetes»

Выберите «Начните испытание» под «Песочницей разработчика». Песочницей разработчика будет достаточно для этого прохождения. Обратите внимание, что созданная учетная запись будет активна в течение 30 дней. В конце активного периода ваш доступ будет деактивирован, и все ваши данные на песочнице разработчика будут удалены. После входа в систему вы должны быть доставлены на эту веб -страницу: Если вас не привезли сюда, посетите https://developers.redhat.com/developer-sandbox Анкет

Нажмите «Начните в песочнице», а затем «запустите песочницу разработчика для Red Hat OpenShift», а затем «Начните использовать песочницу». Вам также может потребоваться проверить свой адрес электронной почты, чтобы продолжить.

Добро пожаловать в OpenShift!

На боковой панели вы можете увидеть разные параметры, чтобы выбрать из …

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

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

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

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

Монитор Вкладка «Мониторинг» позволяет отслеживать метрики приложений, создавать пользовательские запросы метрик, а также оповещения о просмотре и молчании в вашем проекте.

Поиск Поиск ресурсов в вашем проекте, просто начав печатать или прокручивать список существующих ресурсов.

Теперь переключитесь на перспективу администратора и посмотрите под проектами.

Под Проекты Вы можете увидеть два разных проекта, один для разработки и один для постановки. Раздел проектов позволяет создавать проекты, основанные на доменах внутри него (разработчики, операции, безопасность, сеть, инфраструктура, хранение и т. Д.) И изолируют свои функции друг от друга. Обычно у этих команд есть свои системы, но через OpenShift у всех них есть одна единственная консоль, где они могут иметь контроль за соответствующими ролями.

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

Давайте рассмотрим каталог, чтобы увидеть, из чего мы можем выбрать. Благодаря каталогу разработчиков разработчику не нужно просить у команды инфраструктуры, что им нужна новая развивающаяся среда, база данных, время выполнения и т. Д. Скорее, разработчик может выбрать из списка предварительно одобренных приложений, сервисов или строителей источников. Для наших целей мы будем использовать Python для создания передней части. Я буду использовать образец случайного генератора цветов случайного фона, чтобы продемонстрировать использование Python в OpenShift. Это приложение будет случайным образом генерировать цвет и приветственное сообщение для пользователя, который открывает веб -сайт. Просто введите «Python» в каталоге разработчиков или найдите его под языками> Python и нажмите на опцию, в которой ясно говорит «Python».

Далее нажмите «Создать приложение»

Отсюда мы вставим ссылку из репозитория GitHub, который содержит сценарий Python, который мы будем использовать для нашей веб -страницы: https://github.com/stevenmcgown/openshift_demo

Вы также можете изменить имя приложения, если хотите. Для наших целей мы оставим все в настройках по умолчанию. Как только вы нажмете «Создать», OpenShift начнет создавать приложение. Вы можете увидеть процесс сборки из боковой панели, навигая на сборки> Открытый сдвиг-демо> сборки> журналы с открытым сдвигом-демо-1>. На этом скриншоте мы видим, что OpenShift идет в местоположение исходного кода и копирует исходный код. Как только исходный код скопирован, он анализируется и создаст двоичный файл приложения. Затем OpenShift создает DockerFile, который установит все зависимости приложений, необходимые для запуска двоичного приложения. Зависимости приложения наложены для создания изображения контейнера, где оно будет храниться в реестре, встроенном в OpenShift. Наконец, из этого реестра он будет развернуть файл приложения.

Затем нажмите на вкладку Топологии на боковой панели. Мы можем увидеть наше нанесение Python в пузыре с 3 меньшими пузырями. Зеленая отметка показывает, что сборка была успешной, и мы можем фактически проверить журнал сборки, который мы только что видели, нажав на нее.

Пузырь в правом нижнем углу с красным C позволяет нам редактировать наш исходный код с помощью программистов. Codeready Workspaces позволяет редактировать код в браузере. Открытие рабочих мест для открытия кодировки займет некоторое время, но когда он откроется, вы должны увидеть IDE, похожий на VSCODE.

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

Нажатие на пузырь на верхнем правом на значке Python откроет приложение контейнера. В этом случае он потребовался зеленым в качестве случайного цвета, и нас приветствуют сообщение из приложения с открытым сдвигом-демо, размещенным в контейнере «HKQBV» под набором реплики 7C749FF559.

Как администратор, мы заинтересованы в предоставлении приложения высокой доступности путем масштабирования, управления и т. Д. Давайте рассмотрим приложение с точки зрения администратора сейчас. С точки зрения администратора, мы можем просмотреть наши прикладные стручки, перемещаясь на рабочие нагрузки> Стручки. Здесь мы видим, что только один стручок обслуживает наше приложение. Если мы хотим увеличить нашу доступность, мы можем перейти на рабочие нагрузки> развертывание и увеличить количество стручков для обслуживания нашего приложения. В качестве напоминания, развертывание представляет собой набор стручков и гарантирует, что достаточное количество стручков работает одновременно для обслуживания приложения. Если вам нужно освежить концепции Kubernetes, такие как развертывание и стручки, пожалуйста, прочитайте Kubernetes для чайников.

Традиционно, если вы хотите увеличить доступность вашего приложения, вам придется создать дополнительную виртуальную машину, создать балансировщик нагрузки, установить приложение, и только тогда вы будете готовы иметь высокую доступность. В OpenShift увеличение доступности так же просто, как увеличение или уменьшение счетчика POD в разделе «Детали развертывания», что выполняется в секундах. Увеличение количества стручков означает, что на каждом стручке будет размещено приложение, что означает, что приложение, которое мы имеем, будет использовать 3 стручки и, следовательно, 3 случайных цветов.

После обновления вашей страницы вы можете заметить, что приложение никогда не меняет цвет … что дает? С точки зрения сети, конфигурация по умолчанию состоит в том, чтобы иметь липкий сеанс, что означает, что пользователь всегда будет размещен в одном и том же контейнере, как только они подключатся к приложению. Чтобы изменить это, мы перейдем к сети> маршрутам и нажмите на 3 точки, чтобы редактировать аннотации.

Мы добавим эти пары ключей в наши существующие аннотации: haproxy.router.openshift.io/balance: roundrobin haproxy.router.openshift.io/disable_cookies: истинный

Для получения дополнительной информации об алгоритме планирования Round Robin и файлах cookie посетите эти ссылки: https://en.wikipedia.org/wiki/round-robin_scheduling#network_packet_scheduling

https://en.wikipedia.org/wiki/HTTP_cookie

Когда вы обновляете страницу, вы будете получать новое сообщение каждый раз, указывающий, что вам обслуживается другой стручок для приложения. Цвет фона, однако, может быть таким же, как и другой контейнер, поскольку приложение инициализируется случайным цветом из массива 7 цветов.

Моделируя аварию

Давайте моделируем один из Струд, чтобы проверить нашу доступность. В представлении администратора перейдите к рабочим нагрузкам> Стручки. Вы должны увидеть 3 стручки, работающие под тегом Set Replica, указывая, что стручки создаются с использованием того же набора данных. Если мы удалим одну из этих стручков, это будет означать, что стручка немедленно терпит неудачу. При этом Kubernetes одновременно создаст контейнер, чтобы заменить провал капсула. Это показывает, что контроллер всегда смотрит на то, сколько стручков работает, по сравнению с тем, сколько нужно. В этом случае K8s обнаружит, что работает только 2 стручка, и сразу же создаст новый стручок для замены неудачной стручки.

Поскольку старый стручок был удален, был создан новый стручок с идентификатором контейнера «HXGHH» и фиолетовым фоном.

Обновления разработчика

Предположим, разработчик приложения обновляет исходный код. Когда это происходит, OpenShift должен отражать изменения, внесенные разработчиком. Мы можем сделать это, снова создав проект, перейдя в перспективу разработчика, нажав на значок Python и нажав «Start Build». В этом случае я добавил черный в множество цветов.

Отнесее отметить, что функция, использующая OpenShift, называется «обновления Rolling». ОБНОВЛЕНИЯ Обновления обеспечивают плавные переходы от одного обновления в другое. С обновлениями, новыми капсулами введены в эксплуатацию, в то время как старые выведены из эксплуатации по одному до завершения. Таким образом, для конечного пользователя никогда не бывает потеря услуг. С некоторой удачей, теперь мы можем увидеть новый цветовой фон для нашей веб -страницы, как это дано разработчикам.

Это все, что у меня есть сейчас! Большое спасибо за чтение, часть 2 Openshift для чайников. Я планирую сделать больше из них в будущем, но, пожалуйста, дайте мне знать, если у вас есть какие -либо вопросы или проблемы по поводу этих постов!

Надеюсь, вам понравилось читать. Если вы это сделали, пожалуйста, оставьте ролик и комментарий! Также следуйте за мной на LinkedIn в https://www.linkedin.com/in/steven-mcgown/

OpenShift for Dummies (серия 2 частей)

Оригинал: “https://dev.to/stevenmcgown/openshift-for-dummies-part-2-2eg4”