Отредактировано 3 несколько месяцев назад от ExtremeHow Редакционная команда
OpenShiftKubernetesКонтейнерыРазвертываниеДевОпсRed HatОблакоКонфигурацияКомандная строкаМультикластер
Перевод обновлен 5 несколько месяцев назад
OpenShift — это популярная платформа для контейнерных приложений с открытым исходным кодом, созданная для простого оркестрирования и управления контейнеризированными приложениями. Основанная на Kubernetes, платформа OpenShift расширяет функциональность Kubernetes дополнительными корпоративными возможностями, что делает её мощным решением для разработчиков и ИТ-команд, которые хотят постоянно развертывать приложения в гибридных средах. В этом руководстве мы рассмотрим шаги, необходимые для развертывания приложений с использованием OpenShift на операционной системе Linux. Наша цель — предоставить четкие и простые инструкции, которые смогут понять и реализовать пользователи даже с базовыми знаниями.
Прежде чем разбираться в деталях развертывания, важно понять, что делает OpenShift исключительной платформой. OpenShift — это, по сути, платформа как услуга (PaaS) от Red Hat, основанная на Docker-контейнерах и Kubernetes. Это означает, что OpenShift использует контейнеризацию, чтобы ваши приложения могли разрабатываться, доставляться и развертываться более эффективно, а Kubernetes обеспечивает оркестрацию, эффективно управляя всеми этими контейнерами.
OpenShift предоставляет среду, в которой разработчики могут сосредоточиться на написании кода, в то время как платформа занимается такими операционными аспектами, как масштабирование, мониторинг и балансировка нагрузки.
Прежде чем начать развертывание приложений в OpenShift, необходимо выполнить несколько предварительных требований:
oc
) должен быть установлен на вашем компьютере.С этими предварительными условиями мы можем приступить к развертыванию приложения в OpenShift.
Сначала вам нужно войти в свой кластер OpenShift. Для этого вы будете использовать командный инструмент oc
. Откройте терминал и введите следующую команду:
$ oc login https://<your-openshift-api-url> --token=<your-login-token>
Вам нужно будет заменить <your-openshift-api-url>
и <your-login-token>
на ваш конкретный URL-адрес API-сервера и токен аутентификации. Токены аутентификации обычно можно найти в консоли OpenShift в ваших пользовательских настройках.
В OpenShift приложения развертываются в рамках проекта. Проект можно рассматривать как рабочее пространство или песочницу, где можно управлять ресурсами, пользователями и приложениями.
Используйте следующую команду для создания нового проекта:
$ oc new-project my-nodejs-app --display-name="My NodeJS App" --description="This project deploys a NodeJS application"
Эта команда создаёт новый проект с именем my-nodejs-app
с отображаемым именем и описанием.
OpenShift предоставляет несколько способов развертывания приложения. Самый простой способ — использовать команду oc new-app
.
Предположим, у вас есть приложение на Node.js. Вы можете его развернуть следующим образом:
$ oc new-app nodejs:12~https://github.com/username/my-nodejs-app.git
Эта команда сообщает OpenShift создать новое приложение, используя Node.js версии 12, и загрузить из указанного репозитория GitHub. Тильда (~
) используется для указания того, что OpenShift должен использовать source-to-image (S2I), чтобы создать образ из исходного кода в данном репозитории.
По умолчанию приложения, развернутые в OpenShift, недоступны извне. Чтобы предоставить доступ к вашему приложению через интернет, вам нужно создать маршрут.
Используйте эту команду для отображения вашего сервиса:
$ oc expose svc/my-nodejs-app
Это создаст маршрут OpenShift на основе вашего сервиса, делая ваше приложение доступным по внешнему URL. Чтобы узнать URL, используйте:
$ oc get route
Откройте браузер и перейдите по URL, чтобы проверить, работает ли ваше приложение правильно.
OpenShift позволяет легко масштабировать приложения для обработки большего трафика. Масштабирование — это процесс увеличения или уменьшения количества экземпляров контейнеров (реплик) в зависимости от потребностей вашего приложения.
Для увеличения количества экземпляров используйте:
$ oc scale --replicas=3 deployment/my-nodejs-app
Это увеличит ваше развертывание до 3 экземпляров. С большим количеством реплик OpenShift может эффективно балансировать нагрузку между каждой репликой.
OpenShift также предоставляет опции для автоматического масштабирования на основе использования ЦП с функциями Horizontal Pod Auto-Scaler.
Мониторинг приложений в производственной среде имеет важное значение. OpenShift предоставляет несколько инструментов и интерфейсов для мониторинга.
oc logs <pod-name>
для просмотра логов конкретного контейнера. Это помогает отлаживать проблемы и исследовать поток вашего приложения.Используйте эти инструменты мониторинга, чтобы убедиться, что ваше приложение работает плавно, и для устранения любых возникающих проблем.
Одно из преимуществ использования OpenShift заключается в том, что процесс обновления приложений упрощен. Вы можете реализовать конвейеры непрерывной интеграции и доставки (CI/CD), автоматически развертывающие обновления ваших приложений.
Для ручного обновления, если вы хотите обновить своё приложение, это обычно означает обновление исходного изображения. Предположим, вы внесли новые изменения в свой репозиторий Git, тогда запустите новую сборку в OpenShift:
$ oc start-build my-nodejs-app
Эта команда инициирует новую сборку вашего приложения. После завершения сборки OpenShift автоматически развертывает изменения в запущенном экземпляре.
Развертывание приложений в OpenShift с использованием Linux — это мощный способ использования масштабируемости, стабильности и простоты управления контейнеризированными приложениями. Следуя структурированной установке и развертыванию, описанному в этом руководстве, вы сможете в полной мере воспользоваться потенциалом OpenShift.
Помните, что это всего лишь отправная точка. OpenShift поддерживает широкий спектр возможностей, включая запуск состояниенных приложений, сложные сетевые конфигурации и интеграцию с другими сервисами. По мере того как вы будете чувствовать себя более уверенно в основных развертываниях, изучайте эти передовые функции, чтобы получить максимум от OpenShift.
С сильным сообществом и обширной документацией, вы в хороших руках, чтобы решить любые возникающие проблемы или требования при развертывании приложений в OpenShift.
Если вы найдете что-то неправильное в содержании статьи, вы можете