Как развернуть Minishift на своем ноутбуке и начать жить

    Minishift – это инструмент, который позволяет вам запустить OpenShift локально как кластер OpenShift из одного узла внутри виртуальной машины.

    Технологии развиваются, и вместе с ними меняются и процессы разработки и развертывания приложений. Если раньше это были достаточно стандартные вещи со строго ограниченным набором задействованных компонентов, то в последние годы с появлением новых инструментов и фреймворков в этой области произошли резкие перемены. Установка пакета ПО на личный компьютер сегодня выглядит тривиальной, но поставьте себя на место ИТ-отдела, и сразу возникнет масса вопросов. Откуда взялся тот или иной программный компонент? Зачем он нужен? Как он обновляется? Кто осуществляет его поддержку? Эти действительно важные и неизбежные вопросы, если организация придерживается передовых методик обеспечения безопасности и должна соответствовать политикам и правилам безопасности.



    Развертывать полноценную среду OpenShift на машине типового разработчика, как правило, не очень практично. В то же время локальный Minishift позволяет разработчику реализовать все плюсы управления контейнеризованными рабочими нагрузками, повышая его производительность и устраняя сложности операционной поддержки.

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

    Итак, вы хотите локальный OpenShift


    Опираясь на наш опыт, можно сказать, что прежде, чем использовать Minishift, необходимо сделать следующее:

    • Описать системные требования
    • Сформулировать список зависимостей

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

    Поскольку здесь мы привычно рассматриваем корпоративный сценарий, то сосредоточимся на Container Development Kit (CDK), ветви проекта Minishift, доведенной до стадии готового программного продукта.

    Есть два варианта установки CDK:

    • С помощью автономного исполняемого файла
    • В составе пакета Red Hat Development Suite, куда входят различные инструменты контейнерной разработки, включая OpenJDK, Red Hat JBoss Developer Studio, VirtualBox и Container Development Kit

    Большинство организаций, как показывает опыт, предпочитают использовать автономный исполняемый файл, а не пакет Red Hat Development Suite, просто чтобы не плодить лишние инструменты. С другой стороны, пакет Red Hat отлично подходит для разработчиков, находящихся вне корпоративного контекста, поскольку обеспечивает простую и понятную пошаговую установку CDK. Кроме того, в организации уже могут использоваться инструменты схожие с теми, что входят в состав Red Hat Development Suite.

    Вне зависимости от выбранного способа установки CDK, понадобится один из поддерживаемых гипервизоров, поскольку CDK работает в качестве виртуальной машины (ВМ).

    Здесь может быть несколько вариантов:


    Какой именно гипервизор – зависит от операционной системы на девелоперской машине, и в большинстве организаций это либо Windows, либо OS X, ведь большинство разработчиков очень редко используют Linux в качестве основной ОС по работе.

    Необходимость иметь ВМ на машинах разработчиков нравится далеко не всем, поскольку для этого требуются дополнительные процессорные ресурсы и ОЗУ. Специалисты по безопасности тоже не в восторге, поскольку это может скомпрометировать безопасность на уровне сети и ПК. Кроме того, для установки, а иногда и для использования гипервизора требуются права администратора.

    К счастью, с распространением новых подходов к разработке, когда ВМ используются вместе с инструментами автоматизированной настройки среды, такими как Vagrant, во многих организациях на девелоперских машинах уже есть гипервизоры, и они могут пропустить это этап, что устраняет ряд серьезных препятствий на пути к использованию Minishift в корпоративных средах.

    Установка и настройка


    Рано или поздно препятствия будут преодолены, и придет черед установки и настройки CDK. Обычно организации блокируют загрузку исполняемых файлов в целях безопасности, поэтому придется использовать другие механизмы. Например, это может быть каталог одобренного ПО, либо можно разместить установщик CDK в репозитории, типа Sonatype Nexus или JFrog Artifactory, откуда его смогут загружать пользователи.

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

    Следующий шаг – это собственно установка самого CDK с помощью соответствующей команды:

    minishift setup-cdk

    Эта команда извлекает ISO-файл, используемый для загрузки ВМ, и подготавливает систему к использованию. При этом все файлы копируются в папку .minishift в домашнем (HOME) каталоге пользователя ($HOME/.minishift). Эту папку можно изменить либо с помощью флага –minishift-home, любо с помощью переменной окружения MINISHIFT_HOME. В корпоративных средах домашний каталог зачастую расположен в сетевой папке, чтобы пользователь при необходимости мог пересесть за другой компьютер и спокойно работать дальше. Однако такой вариант плохо сказывается на производительности CDK, поскольку чтение и запись будут выполняться по сети, а не с локального диска. Кроме того, без подключения к корпоративной сети пользователь теряет доступ к файлам, необходимым для работы CDK. При выборе альтернативного местоположения для CDK пользователь должен иметь права на запись в выбранную папку назначения.

    И, наконец, последний шаг, который надо выполнить перед запуском CDK – указать учетные данные для регистрации входящей в состав CDK копии Red Hat Enterprise Linux (RHEL) на сайте Red Hat Network (RHN). Регистрация нужна для того, чтобы контейнеры, работающие в среде OpenShift, могли использовать yum-пакеты, поскольку yum задействует подписку нижележащего хоста. Девелопперскую подписку можно бесплатно получить на сайте developers.redhat.com, либо она может входить в уже имеющуюся корпоративную лицензию. Впрочем, CDK может работать и без подписки машины, с ограниченной функциональностью.

    Учетные данные можно либо прописать в переменных среды MINISHIFT_USERNAME и MINISHIFT_PASSWORD, либо указать в параметрах запуска -username и -password, либо задать в качестве одного из параметров конфигурации с помощью команды config minishift. Помимо учетных данных команда config minishift позволяет задать и целый ряд других параметров, таких как драйвер гипервизора, количество ЦП и ОЗУ для ВМ. Например, вот как задается драйвер ВМ:

    minishift config set vm-driver virtualbox

    После этого остается только запустить CDK (при необходимости с дополнительными параметрами):

    minishift start

    После чего Container Development Kit создаст новую ВМ, зарегистрирует ее и выполнит прочие необходимые операции, а именно:

    • Загрузит контейнеризованную версию OpenShift
    • Выделит набор томов Persistent Volumes для организации постоянного хранилища
    • Задействует ряд дополнительных модулей для расширения базовой функциональности OpenShift
    • Создаст учетные записи администратора и разработчика для взаимодействия с платформой

    После запуска CDK предоставит URL для доступа к веб-консоли, а также учетные данные для входа в аккаунт разработчика.

    В общем, при выполнении всех предварительных условий базовая установка Container Development Kit не должна вызывать затруднений.



    А 16 июня на DevOpsDays Moscow 2018 мы проведем мастер-класс/воркшоп/живую демонстрацию сценария использования платформы OpenShift, развернутой в публичном облаке Azure.

    Покажем все три варианта деплоя – из исходного кода, из образа контейнера, из шаблона. Покажем как просто настроить вебхуки, чтобы наше приложение автоматически пересобиралось по наступлению определенного события, например после коммита. Покажем сценарий A/B теста, расскажем про концепцию service account и запустим супер-легаси приложение в контейнере.

    Потратим всего час вашего времени, чтобы показать как (по нашему скромному мнению) быстро и просто решаются ваши ежедневные CI/CD задачи с помощью OpenShift Container Platform на Microsoft Azure. Приходите!

    БОНУС: Хотите промо-код на скидку? Пишите нам в личные сообщения.

    Red Hat

    105,83

    Программные решения с открытым исходным кодом

    Поделиться публикацией
    Комментарии 10
      +2
      Вот эти вот все minishift [start|stop|delete|setup-cdk|console [--url]|oc-env] очень смахивают на то, что делает vagrant. А есть ещё mininet, minikube, и может что-то ещё. Может вам объединиться?
        0
        MMik, в некотором смысле мы уже объединились – в сообществе open source :-)
        +4
        большинство разработчиков очень редко используют Linux в качестве основной ОС по работе

        Сильное заявление, проверять я его конечно не буду.
          0
          pavelpromin, а Вы используете? Можем попросить всех отписаться, кто какую ОС использует в качестве основной на работе.
            +1
            Можно просто создать опрос в подобной теме.
              0

              И на работе и дома.

                +1
                Fedora Linux на основном рабочем ноуте, используется для разработки. Знаю немало Java'истов, работающих на каком-либо Linux в качестве основной ОС на работе.
                Для Outlook'а/Visio/чего-то ещё корпоративного некоторые берут VDI, виртуалку, или второй маленький ноут.
                  +2
                  последние 5-6 лет не видел вокруг себя серьёзных разработчиков и админов которые бы использовали Windows. Чаще всего Linux (Ubuntu, Fedora, Debian) или macOS
                    +3
                    Поддерживаю, особенно крайне странно слышать такое утверждение от представителей RedHat :)
                      0
                      У вас в слове «страшно» буква 'ш' почему-то превратилась в 'н'

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

              Самое читаемое