Гид по технологиям

Установка OpenShift Origin на одном узле (Ubuntu 18.04)

• 4 min read • DevOps • Обновлено 25 Nov 2025
Установка OpenShift Origin на Ubuntu 18.04
Установка OpenShift Origin на Ubuntu 18.04

Изображение: логотип OpenShift или иллюстрация установки

Кому подходит это руководство

  • Тестовые среды и лаборатории.
  • Разработчики и DevOps, желающие быстро поднять OpenShift локально или на одном сервере.

Вводные определения

  • OpenShift: платформа Kubernetes от Red Hat с расширениями для разработчиков и CI/CD.
  • oc: клиентская утилита OpenShift для управления кластерами.

Основные требования

  • Сервер с Ubuntu 18.04 LTS, минимум 2 ГБ RAM.
  • Доступ root или привилегии sudo с установленным паролем.
  • Свободный порт 8443 для веб-консоли и доступ к интернету для загрузки пакетов.

Важно: это руководство демонстрационное. Для продакшна используйте поддерживаемые, актуальные версии OpenShift и следуйте официальной документации.

Шаг 1. Обновление системы

Перед началом обновите пакеты:

apt-get update -y  
apt-get upgrade -y

После обновления перезагрузите сервер для применения всех изменений.

Шаг 2. Установка Docker CE

OpenShift запускает контейнеры поверх Docker. В Ubuntu 18.04 рекомендуется установить Docker CE из официального репозитория Docker.

Добавьте GPG-ключ Docker и репозиторий:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update -y  
apt-get install docker-ce -y

Проверьте статус Docker:

systemctl status docker

Ожидаемый пример вывода (информативно):

? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago
     Docs: https://docs.docker.com
 Main PID: 19052 (dockerd)
    Tasks: 8
   CGroup: /system.slice/docker.service
           ??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization"
Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine.
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"

Если служба не запустилась, проверьте журналы systemd: journalctl -u docker --no-pager.

Шаг 3. Скачивание и установка клиента OpenShift (oc)

Скачайте релиз клиента OpenShift Origin (пример v3.9):

cd /opt  
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

Распакуйте и скопируйте бинарник oc в /usr/local/bin:

tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit  
cp oc /usr/local/bin/

Проверьте версию:

oc version

Пример вывода:

oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

Примечание: используемый в примере релиз устарел; для новых установок подберите актуальную версию OpenShift.

Шаг 4. Настройка Docker для insecure registry OpenShift

Редактируйте конфигурацию Docker:

nano /etc/docker/daemon.json

Добавьте:

{
    "insecure-registries" : [ "172.30.0.0/16" ]
}

Сохраните и перезапустите Docker:

systemctl restart docker

Важно: insecure registry допускает отсутствие TLS между Docker и внутренним реестром OpenShift — используйте это только в тестовой среде.

Шаг 5. Запуск кластера OpenShift

Запустите кластер, указав публичный IP сервера или hostname. В примерах используется IP 38.143.69.14 — замените на ваш.

oc cluster up --public-hostname=38.143.69.14

Ожидаемый вывод (сокращённый):

WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients.
Using Docker shared volumes for OpenShift volumes
Using public hostname IP 38.143.69.14 as the host IP
Using 38.143.69.14 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.

The server is accessible via web console at:
    https://38.143.69.14:8443

You are logged in as:
    User:     developer
    Password: 

To login as administrator:
    oc login -u system:admin

Примечание: если система сообщает про привязку DNS на порт 8053, это означает, что OpenShift поднял DNS на нестандартном порту — учет этого важен при тестировании с других машин.

Шаг 6. Вход и проверка состояния кластера

Войдите в кластер как администратор:

oc login -u system:admin

Пример успешного входа:

Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

    default
    kube-public
    kube-system
  * myproject
    openshift
    openshift-infra
    openshift-node
    openshift-web-console
Using project "myproject".

Переключитесь на проект default и проверьте статус:

oc project default
oc status

Пример вывода oc status (обновлённый):

In project default on server https://38.143.69.14:8443

svc/docker-registry - 172.30.1.1:5000
  dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053

svc/router - 172.30.106.228 ports 80, 443, 1936
  dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

View details with 'oc describe /' or list everything with 'oc get all'.

Шаг 7. Создание тестового проекта и приложения

Войдите как developer (пользователь: developer, пароль: developer):

oc login

Создайте проект dev с отображаемым именем и описанием:

oc new-project dev --display-name="test - Dev" --description="Test Project"

Создайте пример приложения на Ruby из Github-репозитория:

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

Проверьте статус:

oc status

Если сборка запускается, подождите завершения build pod и деплоя.

Шаг 8. Доступ к веб-консоли

Откройте браузер и перейдите по адресу https://ваш-ip:8443 (в примере https://38.143.69.14:8443). Введите учетные данные developer/developer.

Форма входа в OpenShift

После входа вы увидите панель управления OpenShift:

Панель управления OpenShift

Перейдите в My Project и откройте созданный проект:

Страница проекта в OpenShift

Внутри вы увидите задеплоенное приложение:

Детали тестового приложения

Поздравляем — OpenShift поднят и работает.

Техподдержка и устранение неисправностей

Общие проблемы и шаги решения:

  • Docker не запускается: проверьте journalctl -u docker и версию ядра; убедитесь, что cgroups включены.
  • oc cluster up забрасывает ошибки образов: проверьте доступ к Docker Hub и локальную сеть.
  • Проблемы с портами: убедитесь, что порты 8443, 8053 и 80/443 не заняты и правила firewall позволяют входящие соединения.
  • Веб-консоль недоступна: проверьте docker ps на наличие контейнеров OpenShift, и oc get pods -A для всех подов.

Быстрый отладочный чек-лист:

  1. systemctl status docker
  2. docker ps
  3. oc get nodes
  4. oc get pods -A
  5. journalctl -u origin (если использовался systemd unit)

Откат и удаление single-node кластера

Чтобы удалить локальный кластер, выполните:

oc cluster down

Это остановит контейнеры и удалит созданные ресурсы. Также можно удалить бинарник oc: rm /usr/local/bin/oc.

Риски и рекомендации по безопасности

  • insecure-registries снижает защиту образов — запрещён для продакшна.
  • Используйте TLS и отдельные учетные записи для продакшн-глобальных реестров.
  • Ограничьте доступ к порту 8443 через firewall, настройте RBAC и аудит.

Рекомендации по альтернативам

  • Для экспериментов используйте OKD (community upstream of OpenShift) или Minikube/Kind для чистого Kubernetes.
  • Для продакшн-кластеров используйте официальные процедуры развертывания OpenShift с несколькими узлами и HA.

Роли и чек-листы

Администратор:

  • Убедиться, что сервер соответствует требованиям.
  • Установить Docker, oc, настроить firewall.
  • Запустить oc cluster up и проверить поды.

Разработчик:

  • Войти как developer.
  • Создать проект oc new-project.
  • Создать приложение oc new-app и следить за build/deploy.

Критерии приёмки

  • Веб-консоль доступна по https://ваш-ip:8443.
  • oc status не показывает ошибок в core сервисах (registry, router).
  • Успешно создан и задеплоен тестовый pod приложения.

Короткая сводка

  • Обновите систему, установите Docker CE.
  • Скачайте oc и настройте insecure registry для тестовой среды.
  • Запустите oc cluster up и создайте проект с примерным приложением.

1-строчный глоссарий:

  • oc — клиент OpenShift для управления кластерами; OpenShift — расширенный дистрибутив Kubernetes с возможностями для разработчиков.

Завершение

Вы успешно развернули single-node OpenShift Origin на Ubuntu 18.04. Для задач продакшна планируйте многоузловую архитектуру, защиту реестров и резервирование данных. Вопросы по настройке или возникающим ошибкам можно задать — опишите шаг и вывод ошибок.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро