Данная инструкция позволит быстро развернуть на одном сервере OpenShift. Так как данная инструкция не описывает процесс создания кластера, у нее нет практического применения для крупных инсталляций.
Для работы Openshift необходимо, чтобы был установлен Docker. Рассмотрим процесс его установки и настройки.
1. Устанавливаем wget:
dnf install wget
Скачиваем конфигурационный файл для репозитория докер:
wget -P /etc/yum.repos.d/ https://download.docker.com/linux/centos/docker-ce.repo
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. Внесем изменения в два конфигурационных файла.
В первый:
vi /etc/containerd/config.toml
Добавим:
[registries.insecure]registries = [‘172.30.0.0/16’]
И второй (создаем):
vi /etc/docker/daemon.json
{ «insecure-registries»: [ «172.30.0.0/16» ]}
* опция insecure-registries / registries.insecure разрешает подсеть, для которой может использоваться реестр образов, для подключения к которому не требуется наличие безопасного сертификата (например, может использоваться самоподписанный).
Перезапускаем докер:
systemctl restart docker
Внесем некоторые настройки в систему.
Разрешаем форвардин для предоставления доступа к другим подсетям и сети Интернет создаваемым контейнерам.
Открываем конфигурационный файл:
vi /etc/sysctl.conf
И добавим строку:
net.ipv4.ip_forward = 1
Применяем настройки:
sysctl -p /etc/sysctl.conf
В системе Rocky Linux используется утилита для управления брандмауэром на базе firewalld. Но мы рассмотрим также и iptables.
а) firewalld.
Открываем порты командами:
firewall-cmd —permanent —permanent —add-port={80,443,8443}/tcp
firewall-cmd —permanent —permanent —add-port={53,8053}/udp
* где:
firewall-cmd —reload
б) 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.
Процесс установки заключается в загрузке бинарника и размещении его в каталоге /usr/local/bin. Переходим на страницу загрузки последней версии Openshift. Копируем ссылку на загрузку архива openshift-origin-client (в самом низу страницы):
Используем ссылку для загрузки архива на сервере, например:
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Распакуем архив:
tar xvf openshift-origin-client-tools*.tar.gz
Переносим бинарники в каталог /usr/local/bin:
mv openshift-origin-client-tools-*/{oc,kubectl} /usr/local/bin/
Проверяем работу утилиты oc:
oc version
Мы должны увидеть что-то на подобие:
oc v3.11.0+0cbc58bkubernetes v1.11.0+d4cacc0features: 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.
The server is accessible via web console at: https://192.168.1.30:8443
You are logged in as: User: developer Password: <any value>
To login as administrator: oc login -u system:admin
Открываем браузер и переходим по адресу https://<IP-адрес сервера>:8443 (в нашем примере, 192.168.1.30) — у нас откроется страница входа в систему.
Вводим логин system и пароль admin.
При перезагрузке сервера, наш кластер не будет загружаться автоматически. Для того, чтобы исправить это, создадим юнит в systemd:
vi /etc/systemd/system/opeshift.service
[Unit]Description=OpenShift oc cluster up ServiceAfter=docker.serviceRequires=docker.service
[Service]ExecStart=/usr/local/bin/oc cluster up —public-hostname=192.168.1.30ExecStop=/usr/local/bin/oc cluster downRestart=noStandardOutput=syslogStandardError=syslogSyslogIdentifier=occlusterupUser=rootType=oneshotRemainAfterExit=yesTimeoutSec=300
[Install]WantedBy=multi-user.target
* обратите внимание на опцию public-hostname, в которой необходимо указать адрес, на котором должен слушать кластер.
Перезапустим systemd:
systemctl daemon-reload
И разрешим автозапуск:
systemctl enable opeshift —now
Проверим работу службы:
systemctl status opeshift
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies