Рубрики
Uncategorized

Идти дальше на OpenShift

OpenShift имеет различные ресурсы, чтобы помочь развернуть ваши приложения, даже не требуя ранее построенного изображения Docker. Tagged с OpenShift, DevOps, Docker, Kubernetes.

В своем предыдущем посте я дал краткое представление о том, что является OpenShift ( теперь OKD ) и как мы могли бы легко развернуть Gitea Анкет Теперь мы сосредоточимся на создании и развертывании приложений Java, используя стратегию «Source2image» (S2I).

Но что это за S2I?

Согласно Сайт проекта S2I :

Источник-изображение (S2I)-это инструментарий и рабочий процесс для воспроизводимых изображений Docker из строительства из исходного кода. S2I создает готовые образы путем введения исходного кода в контейнер Docker и позволяя контейнеру подготовить этот исходный код для выполнения. Создавая самоуправляемые изображения строителя, вы можете версировать и контролировать свои среды сборки точно так же, как вы используете изображения Docker для версии среды выполнения.

Что произойдет на практике, так это то, что OpenShift примет источник вашего проекта, объедините его с Строитель Docker Image и генерируйте окончательное изображение времени выполнения, используемое для запуска приложения.

Подготовка среды развития

Чтобы запустить нашу среду разработки, мы будем использовать Минишфт Чтобы создать кластер OpenShift. Используйте команды ниже, чтобы загрузить и установить Minishift (если вы используете Linux):

MINISHIFT_VERSION=1.22.0
MINISHIFT_URL=https://github.com/minishift/minishift/releases/download/v$MINISHIFT_VERSION/minishift-$MINISHIFT_VERSION-linux-amd64.tgz

curl -L -s -o /tmp/minishift.tgz $MINISHIFT_URL

tar -C /tmp --wildcards -x */minishift --strip 1 -zf /tmp/minishift.tgz
sudo install /tmp/minishift /usr/local/bin/minishift

С установленным мини -кодом мы можем настроить и запустить его (что может занять несколько минут):

# change values according to your workstation
MINISHIFT_VM_DRIVER=virtualbox
MINISHIFT_MEMORY=8G
MINISHIFT_CPUS=4
MINISHIFT_DISK_SIZE=100G

# configure minishift
minishift config set vm-driver $MINISHIFT_VM_DRIVER
minishift config set memory $MINISHIFT_MEMORY
minishift config set cpus $MINISHIFT_CPUS
minishift config set disk-size $MINISHIFT_DISK_SIZE

minishift start

Чтобы взаимодействовать с OpenShift, нам нужно скачать OC Инструмент командной строки, но с Minishift мы можем использовать в комплекте, просто выполнить следующее:

eval $(minishift oc-env)

Затем мы вошли в OpenShift:

oc login 192.168.99.100:8443 -u admin
# use 'admin' as password

Развертывание приложения

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

Но сначала давайте создадим Проект :

oc new-project django-example --display-name 'Django Example'

Он напечатает что -то подобное

Now using project "django-example" on server "https://192.168.99.100:8443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

to build a new example application in Ruby.

(Не беспокойтесь с сообщением о приложении Ruby, мы на самом деле развертываем приложение Python 😉

A Проект является терминологией OpenShift для пространства имен, местом для группировки связанных с ними ресурсов и определения правил доступа к этим ресурсам. Например, мы могли бы позволить пользователю «змеи» просмотреть наш проект «Django-Example», пользователь «гремучая змея» просмотреть и редактировать (запускает сборки и развертывание и т. Д.), А не предоставить никакого доступа к пользователю «Барсука».

С созданным проектом мы можем создать приложение:

oc new-app python:3.6~https://github.com/sclorg/django-ex.git

Вы можете спросить: «Что происходит?». Ну, мы говорим OpenShift, чтобы взять Python: 3.6 Изображение и объедините его с исходным кодом, доступным по адресу https://github.com/sclorg/django-ex.git . Синтаксис — «Изображение» ~ «Источник».

Но будь осторожен! Python: 3.6 это Не официальное изображение Python от Docker Hub ! Вместо этого это от centos/python-36-centos7 и был импортирован в интегрированный реестр OpenShift! Это изображение S2I для создания и запуска Python Projects! Вы можете просмотреть другие изображения, используя команду oc Получите ImageStream -n OpenShift

Вывод OC New-App будет иметь некоторую информацию о приложении, со следующей в конце:

--> Success
    Build scheduled, use 'oc logs -f bc/django-ex' to track its progress.
    Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
     'oc expose svc/django-ex' 
    Run 'oc status' to view your app.

Предлагаемая команда OC Expose Svc/django-Ex сделает что -то очень важное: это разоблачит Сервис (Служба Kubernetes) для внешнего трафика через Маршрут Анкет Маршрут очень похож на службу, но будет обрабатывать внешние запросы, которые соответствуют конкретному имени хоста и также могут обрабатывать шифрование (HTTPS).

Давайте разместим наше заявление:

oc expose svc/django-ex

В отличие от предыдущих команд, разоблачение сервиса не дает большого количества выводов, поэтому давайте перечислим доступные маршруты, чтобы получить той, что мы только что создали:

oc get routes

Который будет выводить:

NAME        HOST/PORT                                        PATH      SERVICES    PORT       TERMINATION   WILDCARD
django-ex   django-ex-django-example.192.168.99.100.nip.io             django-ex   8080-tcp                 None

Как мы видим, маршрут прослушивает имя хоста django-ex-django-example.192.168.99.100.nip.io . Это nip.io является специальным сервисом, который будет перенаправлять запросы на IP -адрес, содержащийся в самом имя хоста, это дело, 192.168.99.100, IP -адрес виртуальной машины Minishift.

Доступ к адресу маршрута покажет следующий экран:

Openshift Web Console

OpenShift также имеет очень хорошую веб -консоль, доступную по адресу [ https://192.168.99.100:8443/console ] Просто войдите в систему с теми же учетными данными, которые мы использовали ранее («администратор» как для имени пользователя, так и для пароля).

Открытие ссылки на наш проект справа доставит нас на следующую страницу:

Это инструментальная панель проекта, где у нас есть обзор проекта, приложения развернуты, маршруты, статус контейнера и т. Д. Мы можем даже масштабировать контейнер!

Веб -консоль имеет много дополнительных, хотя некоторые действия по -прежнему требуют использования CLI, например, создание сервиса, разоблачив Развертывание Анкет

Это пока это. В следующий раз мы попадем в веб -консоль.

Оригинал: «https://dev.to/livioribeiro/going-further-on-openshift-4m80»