В этой главе мы узнаем о настройке среды 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 [email protected]
После того, как вы выполнили все вышеперечисленные настройки, далее следует настроить 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
После завершения вышеуказанной настройки вы можете проверить и развернуть приложения, о которых мы узнаем больше в следующих главах.