Учебники

OpenShift – настройка среды

В этой главе мы узнаем о настройке среды OpenShift.

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

Чтобы настроить корпоративный OpenShift, необходимо иметь активную учетную запись Red Hat. Поскольку OpenShift работает на архитектуре мастера и узла Kubernetes, нам необходимо установить их на отдельных машинах, где одна машина работает как мастер, а другая работает на узле. Для того, чтобы настроить оба, существуют минимальные системные требования.

Конфигурация главной машины

Ниже приведены минимальные системные требования для конфигурации главной машины.

  • Базовая машина, размещенная в физической, виртуальной или любой облачной среде.

  • По крайней мере, Linux 7 с необходимыми пакетами на этом экземпляре.

  • 2 ядра процессора.

  • Не менее 8 ГБ ОЗУ.

  • 30 ГБ встроенной памяти на жестком диске.

Базовая машина, размещенная в физической, виртуальной или любой облачной среде.

По крайней мере, Linux 7 с необходимыми пакетами на этом экземпляре.

2 ядра процессора.

Не менее 8 ГБ ОЗУ.

30 ГБ встроенной памяти на жестком диске.

Конфигурация узла машины

  • Физический или виртуальный базовый образ, указанный для главной машины.
  • По крайней мере, Linux 7 на машине.
  • Докер установлен с версией не ниже 1.6.
  • 1 ядро ​​процессора.
  • 8 ГБ ОЗУ.
  • 15 ГБ жесткий диск для размещения изображений и 15 ГБ для хранения изображений.

Пошаговое руководство по настройке OpenShift

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

Шаг 1 – Сначала установите Linux на обе машины, где Linux 7 должна быть наименьшей версией. Это можно сделать с помощью следующих команд, если у вас есть активная подписка Red Hat.

# subscription-manager repos --disable = "*"

# subscription-manager repos --enable = "rhel-7-server-rpms"

# subscription-manager repos --enable = "rhel-7-server-extras-rpms"

# subscription-manager repos --enable = "rhel-7-server-optional-rpms"

# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"

# yum install wget git net-tools bind-utils iptables-services bridge-utils

# yum install wget git net-tools bind-utils iptables-services bridge-utils

# yum install python-virtualenv

# yum install gcc

# yum install httpd-tools

# yum install docker

# yum update

После того как у нас будут установлены все вышеперечисленные базовые пакеты, следующим шагом будет настройка Docker на соответствующих машинах.

Шаг 2. Настройте Docker таким образом, чтобы он разрешал небезопасную связь только в локальной сети. Для этого отредактируйте файл Docker внутри / etc / sysconfig. Если файл отсутствует, вам нужно создать его вручную.

# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24

После настройки Docker на главном компьютере нам нужно установить беспарольную связь между обеими машинами. Для этого мы будем использовать аутентификацию с открытым и закрытым ключом.

Шаг 3 – Сгенерируйте ключи на главном компьютере, а затем скопируйте ключ id_rsa.pub в файл авторизованного ключа узлового компьютера, что можно сделать с помощью следующей команды.

# ssh-keygen

# ssh-copy-id -i .ssh/id_rsa.pub root@ose3-node.test.com

После того, как вы выполнили все вышеперечисленные настройки, далее следует настроить OpenShift версии 3 на главном компьютере.

Шаг 4 – На главном компьютере выполните следующую команду curl.

# sh <(curl -s https://install.openshift.com/ose )

Приведенная выше команда установит установку для OSV3. Следующим шагом будет настройка OpenShift V3 на машине.

Если вы не можете загрузить из Интернета напрямую, его можно загрузить с https://install.openshift.com/portable/oo-install-ose.tgz в виде пакета tar, из которого установщик может работать на локальном главном компьютере.

Как только у нас будет готовая настройка, нам нужно начать с фактической конфигурации OSV3 на машинах. Эта настройка очень специфична для тестирования среды на фактическое производство, у нас есть LDAP и другие компоненты.

Шаг 5 – На главном компьютере настройте следующий код, расположенный в /etc/openshift/master/master-config.yaml

# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com

Затем создайте стандартного пользователя для администрирования по умолчанию.

# htpasswd -c /root/users.htpasswd admin

Шаг 6 – Поскольку OpenShift использует реестр Docker для настройки изображений, нам нужно настроить реестр Docker. Это используется для создания и хранения образов Docker после сборки.

Создайте каталог на компьютере узла OpenShift с помощью следующей команды.

# mkdir /images

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

# oc login
Username: system:admin

Переключитесь на созданный по умолчанию проект.

# oc project default

Шаг 7 – Создайте реестр Docker.

#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -

Изменить пользовательские привилегии.

#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry

Создайте и отредактируйте реестр изображений.

#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images

Шаг 8 – Создайте маршрутизацию по умолчанию.

По умолчанию OpenShift использует OpenVswitch в качестве программной сети. Используйте следующую команду для создания маршрутизации по умолчанию. Это используется для балансировки нагрузки и прокси-маршрутизации. Маршрутизатор похож на реестр Docker, а также работает в реестре.

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -

Далее отредактируйте привилегии пользователя.

#oc edit scc privileged
users:
   - system:serviceaccount:openshift-infra:build-controller
   - system:serviceaccount:default:registry
   - system:serviceaccount:default:router

#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'

Шаг 9 – Настройте DNS.

Для обработки URL-запроса OpenShift нужна рабочая среда DNS. Эта конфигурация DNS необходима для создания подстановочного знака, который необходим для создания подстановочного знака DNS, указывающего на маршрутизатор.

# yum install bind-utils bind

# systemctl start named

# systemctl enable named

vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
   10.38.55.13;
   ;
};

zone "lab.com" IN {
   type master;
   file "/var/named/dynamic/test.com.zone";
   allow-update { none; };
};

Шаг 10 – Последний шаг – настроить github-сервер на главном компьютере OpenShift V3, что необязательно. Это можно легко сделать с помощью следующей последовательности команд.

#yum install curl openssh-server

#systemctl enable sshd

# systemctl start sshd

# firewall-cmd --permanent --add-service = http

# systemctl reload firewalld

#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-

#yum install gitlab-ce

# gitlab-ctl reconfigure

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