Как установить openshift на компьютер

Обновлено: 20.05.2024

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

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

Для работы Openshift необходимо, чтобы был установлен Docker. Рассмотрим процесс его установки и настройки.

1. Устанавливаем wget:

dnf install wget

Скачиваем конфигурационный файл для репозитория докер:

2. Теперь устанавливаем docker:

dnf install docker-ce docker-ce-cli

И разрешаем автозапуск сервиса и стартуем его:

systemctl enable docker --now

Подробнее об установке Docker на странице Установка Docker на Linux.

3. Чтобы убедиться, что docker в рабочем состоянии, выполняем команду:

docker run hello-world

Мы должны увидеть:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker.

4. Внесем изменения в два конфигурационных файла.

И второй (создаем):

* опция insecure-registries / registries.insecure разрешает подсеть, для которой может использоваться реестр образов, для подключения к которому не требуется наличие безопасного сертификата (например, может использоваться самоподписанный).

systemctl restart docker

Настройка системы

Внесем некоторые настройки в систему.

1. Ядро

Разрешаем форвардин для предоставления доступа к другим подсетям и сети Интернет создаваемым контейнерам.

Открываем конфигурационный файл:

И добавим строку:

sysctl -p /etc/sysctl.conf

2. Брандмауэр

В системе Rocky Linux используется утилита для управления брандмауэром на базе firewalld. Но мы рассмотрим также и iptables.

а) firewalld.

Открываем порты командами:

firewall-cmd --permanent --permanent --add-port=/tcp

firewall-cmd --permanent --permanent --add-port=/udp

  • 80,443,8443 — порты для доступа к веб-интерфейсу.
  • 53,8053 — для сервера DNS.

б) iptables.

Если в нашей системе Rocky Linux используется iptables, вводим команды:

iptables -I INPUT -p tcp --match multiport --dports 80,443,8443 -j ACCEPT

iptables -I INPUT -p udp --match multiport --dports 53,8053 -j ACCEPT

Для сохранения правил вводим:

service iptables save

Установка Openshift и запуск кластера

Переходим к установке и запуску Openshift.

Установка

Процесс установки заключается в загрузке бинарника и размещении его в каталоге /usr/local/bin. Переходим на страницу загрузки последней версии Openshift. Копируем ссылку на загрузку архива openshift-origin-client (в самом низу страницы):

Копируем ссылку на загрузку openshift

Используем ссылку для загрузки архива на сервере, например:

tar xvf openshift-origin-client-tools*.tar.gz

Переносим бинарники в каталог /usr/local/bin:

mv openshift-origin-client-tools-*/ /usr/local/bin/

Проверяем работу утилиты oc:

Мы должны увидеть что-то на подобие:

oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO

Запуск

Openshift представляет из себя набор контейнеров Docker, которые представляют из себя сервис. Для их запуска вводим:

oc cluster up --public-hostname=192.168.1.30

* где 192.168.1.30 — IP-адрес, на котором должен слушать запросы наш кластер.

Некоторое время, команда будет работать. После мы увидим:

Login to server .
Creating initial project "myproject" .
Server Information .
OpenShift server started.

You are logged in as:
User: developer
Password: <any value>

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

Вводим логин system и пароль admin.

Автозапуск

[Unit]
Description=OpenShift oc cluster up Service
After=docker.service
Requires=docker.service

[Service]
ExecStart=/usr/local/bin/oc cluster up --public-hostname=192.168.1.30
ExecStop=/usr/local/bin/oc cluster down
Restart=no
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=occlusterup
User=root
Type=oneshot
RemainAfterExit=yes
TimeoutSec=300

* обратите внимание на опцию public-hostname, в которой необходимо указать адрес, на котором должен слушать кластер.

Каждый хост должен зарегистрироваться в Red Hat Subscription Manager (RHSM) и подключить активную подписку OpenShift Container Platform для доступа к необходимым пакетам.

После получения файла рабочего списка вы можете использовать /usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml, чтобы установить среду выполнения контейнера с конфигурацией по умолчанию. Если вам нужно настроить среду выполнения контейнера, следуйте инструкциям в этом разделе.

Установить базовый пакет

docker

Установить докер

Параметр / etc / sysconfig / docker --insecure-registry указывает демону Docker доверять любому реестру Docker в указанной подсети, не требуя сертификата.

Примечание. 172.30.0.0/16 - это значение по умолчанию для переменной servicesSubnet в файле master-config.yaml. Если это было изменено, значение --insecure-registry в описанных выше шагах должно быть скорректировано для соответствия, поскольку оно указывает подсеть, которая будет использоваться реестром. Обратите внимание, что переменную openshift_portal_net можно задать в файле манифеста Ansible и использовать для изменения переменной servicesSubnet во время расширенного метода установки.

Настроить хранилище Docker

Option A) Use an additional block device.

Option B) Use an existing, specified volume group.

Option C) Use the remaining free space from the volume group where your root file system is located.

Вариант А - самый мощный вариант, но он требует добавления к хосту других блочных устройств перед настройкой хранилища Docker.
Оба варианта B и C должны оставить свободное пространство при настройке хоста.
Известно, что вариант C вызывает проблемы в некоторых приложениях, например Red Hat Mobile Application Platform (RHMAP).

Option A) Use an additional block device.

  • Option B) Use an existing, specified volume group.
  • Option C) Use the remaining free space from the volume group where your root file system is located.

Перед использованием Docker или OpenShift Container Platform убедитесь, что логический том пула докеров достаточно велик, чтобы удовлетворить ваши потребности. Объем пула докеров должен составлять 60% доступной группы томов, и его рост будет отслеживаться через LVM для заполнения группы томов.

Запустить докер, настроить загрузку

Управление журналами контейнеров

Иногда файл журнала контейнера (файл / var / lib / docker / container / <hash> / <hash> -json.log на узле, на котором работает контейнер) может увеличиваться до проблемного размера. Вы можете управлять этим, настроив драйвер ведения журнала JSON-файлов Docker, чтобы ограничить размер и количество файлов журнала.

  • Например, чтобы установить максимальный размер файла равным 1 МБ и всегда сохранять последние три файла журнала, отредактируйте файл / etc / sysconfig / docker, чтобы настроить max-size = 1M и max-file = 3:
  • Next, restart the Docker service:

Просмотр доступных журналов контейнера

  • Журналы контейнера хранятся в каталоге / var / lib / docker / container / <hash> / на узле, на котором запущен контейнер. Например:

Запретить использование локальных томов

При использовании команды VOLUME в Dockerfile или команды docker run -v <volumename> для установки тома будет использоваться дисковое пространство хоста. Использование этого хранилища может вызвать непредвиденные проблемы с нехваткой места и может сделать хост непригодным для использования.

В контейнерной платформе OpenShift пользователи, которые пытаются запустить свои собственные образы, могут заполнить все пространство хранения на хосте узла. Один из способов решить эту проблему - запретить пользователям использовать тома для запуска образов. Таким образом, единственное пространство для хранения, к которому у пользователя есть доступ, будет ограничено, и администратор кластера сможет выделить квоты хранения.

Использование docker-novolume-plugin может решить эту проблему, запретив запуск контейнеров с определенными локальными томами.

  • В частности, команда запуска docker блока плагина содержит:

Плагин не запрещает ссылки на привязку монтирования

Настроить SSH-доступ к хосту

This variable sets the SSH user for the installer to use and defaults to root. This user should allow SSH-based authentication without requiring a password. If using SSH key-based authentication, then the key should be managed by an SSH agent.

If ansible_ssh_user is not root, this variable must be set to true and the user must be configured for passwordless sudo.


Вы ищете простой способ настройки локального кластера OpenShift 4 на своем ноутбуке?

Контейнеры Red Hat CodeReady позволяют запускать минимальный кластер OpenShift 4.2 или более поздней версии на локальном ноутбуке или настольном компьютере.

Его следует использовать только для целей разработки и тестирования.

Мы предоставим отдельное руководство для настройки производственного кластера OpenShift 4.

  • Он использует один узел, который ведет себя как мастер и как рабочий узел.
  • Операторы machine-config и monitoring по умолчанию отключены.
  • Эти отключенные операторы приведут к неработоспособности соответствующие части веб-консоли.
  • По той же причине в настоящее время нет пути обновления до более новых версий OpenShift.
  • Из-за технических ограничений кластер CodeReady Containers является эфемерным, и его необходимо будет заново создавать с нуля раз в месяц, используя более новую версию.
  • Экземпляр OpenShift работает на виртуальной машине, что может вызвать некоторые другие различия, в частности, связанные с внешней сетью.

Минимальные системные требования

Для CodeReady Containers требуются следующие минимальные требования к оборудованию и операционной системе.

  • 4 виртуальных процессора (vCPU)
  • 8 ГБ памяти
  • 3 5 ГБ дискового пространства

Контейнеры CodeReady можно запускать на Windows, macOS, но эта установка была протестирована на CentOS 7/8 и Fedora 31.

Контейнеры CodeReady поставляются в виде виртуальной машины Red Hat Enterprise Linux, которая поддерживает собственные гипервизоры для Linux, macOS и Microsoft Windows 10 .

Шаг 1. Установите необходимые программные пакеты

CodeReady Containers требует, чтобы пакеты libvirt и NetworkManager были установлены в хост-системе.

Как установить кластер OKD OpenShift 4.7 на OpenStack

Fedora CoreOS / Red Hat Enterprise Linux CoreOS также включает в себя важный инструмент подготовки при первой загрузке под названием Ignition, который позволяет кластеру настраивать машины. Поскольку все машины в кластере работают на RHCOS / FCOS, кластер будет управлять всеми аспектами своих компонентов и машин, включая операционную систему.

Ниже приводится подмножество целей установки и зависимостей для OpenShift / OKD Cluster.

Шаг 1. Загрузите программу установки / клиентские инструменты

Загрузите программу установки (openshift-install) и инструменты управления кластером с

OKD 4.7 Программа установки и клиентские инструменты

Скачиваем установщик OKD 4.7:

Распакуйте файл после загрузки:

Переместите полученный двоичный файл в каталог /usr/local/bin :

Проверьте версии как oc, так и openshift-install, чтобы подтвердить успешную установку:

Программа установки OpenShift 4.7 и клиентские инструменты

Перед установкой OpenShift Container Platform загрузите установочный файл на локальный компьютер.

Установка средств управления кластером:

Шаг 2. Настройте облака OpenStack в файле clouds.yaml

Клиент OpenStack будет искать clouds.yaml файл в следующих местах:

Мы поместим наш файл конфигурации Clouds в каталог

Создайте новый файл:

Пример содержимого конфигурации для двух облаков. Соответственно изменить:

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

Шаг 3. Создание вариантов вычислений для узлов кластера OpenShift

Для создания кластера требуется вариант с памятью не менее 16 ГБ , 4 виртуальными ЦП и 25 ГБ дискового пространства.

Давайте создадим аромат Compute:

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

Шаг 4. Создайте плавающие IP-адреса

У вас будет два плавающих IP-адреса для:

  • Плавающий IP-адрес для связи с входным портом.
  • Плавающий IP-адрес для связи с балансировщиком нагрузки API .

Создайте плавающий IP-адрес балансировщика нагрузки API:

Создать входящий плавающий IP-адрес:

Вы можете перечислить свои сети, используя команду:

Мои плавающие IP-адреса будут созданы из общедоступной подсети. Внешнюю сеть нужно настроить заранее.

Шаг 5. Создайте необходимые записи DNS.

Получите доступ к порталу или консоли управления DNS-сервером и создайте необходимые записи DNS:

Пример записи API DNS:

Пример записи Ingress DNS:

Шаг 6. Создайте файл OpenShift install-config.yaml

Выполните следующую команду, чтобы сгенерировать фай install-config.yaml :

Для <installation_directory> укажите имя каталога для хранения файлов, создаваемых программой установки. Указанный каталог установки должен быть пустым .

При появлении запросов укажите сведения о конфигурации вашего облака:

Вы можете редактировать для дальнейшей настройки:

  • Убедитесь, что плавающие IP-адреса добавлены в файл install-config.yaml как значения следующих параметров:

Также добавьте открытый ключ ssh:

Если у вас нет SSH-ключа, настроенного для аутентификации без пароля на вашем компьютере, создайте его:

Шаг 7. Разверните кластер OKD / OpenShift в OpenStack

Перейдите в каталог, содержащий программу установки, и сделайте резервную копию файла install-config.yaml :

Инициализируйте развертывание кластера:

Список созданных серверов на OpenStack:

Экспортируйте файл конфигурации доступа к кластеру:

Вы также можете сделать его kubeconfig по умолчанию:

Список доступных узлов в кластере

Просмотрите версию кластера кластера:

Убедитесь, что все операторы кластера доступны и ни один из них не ухудшен:

Вы всегда можете распечатать консоль входа OpenShift с помощью команды:

Затем вы можете войти в систему, используя распечатанный URL:

Удаление OKD / OpenShift Cluster

Чтобы уничтожить кластер, созданный на OpenStack, вам потребуется:

  • Копия программы установки, которую вы использовали для развертывания кластера.
  • Файлы, созданные программой установки при создании кластера.

Затем кластер можно уничтожить с помощью следующей команды:

При желании вы можете удалить каталог и программу установки OpenShift Container Platform.

Читайте также: