Этот документ содержит процедуру, которую вы используете для обновления существующей установки 4.16.01 для использования последних RPM и файлов поддержки от Apigee. В этой процедуре для выполнения обновления используется утилита update.sh .
Какие версии Edge можно обновить до последней версии 4.16.01?
Вы можете обновить только существующую установку Apigee Edge версии 4.16.01.x до последней версии 4.16.01.
Если вы сейчас используете Edge версии 4.15.07.0x или более ранней, вам необходимо сначала перейти на версию 4.16.01. См. Руководство по установке Apigee Edge 4.16.01, доступное на ftp-сайте Apigee: ftp://ftp.apigee.com/ , для получения информации о том, как перейти на версию 4.16.01 с версии 4.15.07.0x или более ранней.
Кто может выполнить обновление
Пользователь, запускающий обновление, должен быть тем же пользователем, который первоначально установил Edge, или пользователем, работающим под учетной записью root.
После установки Edge RPM их сможет настроить любой пользователь.
Требования к дисковому пространству для обновления
Перед выполнением обновления убедитесь, что у вас есть как минимум 1 ГБ свободного места на диске.
Автоматическое распространение настроек свойств из 4.16.01.x
Если вы установили какие-либо свойства, отредактировав файлы .properties в /opt/apigee/customer/application , эти значения сохраняются при обновлении.
Обновить необходимые условия
Перед обновлением Apigee Edge позаботьтесь о следующих предварительных условиях:
- Резервное копирование всех узлов
Перед обновлением рекомендуется выполнить полное резервное копирование всех узлов в целях безопасности. Используйте процедуру для вашей текущей версии Edge для выполнения резервного копирования.
Это позволяет вам иметь запасной план на случай, если обновление до новой версии не будет работать должным образом. Дополнительную информацию о резервном копировании см. в Руководстве по эксплуатации Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ . - Убедитесь, что Edge работает
Убедитесь, что Edge запущен и работает во время процесса обновления, используя команду:
> /<inst_root>/apigee/apigee-service/bin/apigee-all status
Обработка неудачного обновления
В случае сбоя обновления вы можете попытаться исправить проблему, а затем снова запустить update.sh. Вы можете запускать обновление несколько раз, и оно продолжится с того места, где оно было остановлено в последний раз.
Если сбой требует отката обновления до предыдущей версии, см. Руководство по установке Apigee Edge 4.16.01, доступное на FTP-сайте Apigee: ftp://ftp.apigee.com/
Регистрация информации об обновлении
По умолчанию утилита update.sh записывает информацию журнала в:
/opt/apigee/var/log/apigee-setup/update.log
Если пользователь, запускающий утилиту update.sh, не имеет доступа к этому каталогу, он записывает журнал в каталог /tmp в виде файла с именем update_username.log .
Если у пользователя нет доступа к /tmp , утилита update.sh завершится сбоем.
Обновление без простоев
Обновление с нулевым временем простоя или чередующееся обновление позволяет обновить установку Edge без отключения Edge.
Ключом к обновлению без простоев является удаление каждого маршрутизатора по одному из балансировщика нагрузки. Затем вы обновляете Маршрутизатор и любые другие компоненты на том же компьютере, что и Маршрутизатор, а затем добавляете Маршрутизатор обратно в балансировщик нагрузки.
- Обновите компьютеры в порядке, соответствующем вашей установке, как описано ниже в разделе «Порядок обновления компьютеров».
- Когда придет время обновить маршрутизаторы, выберите любой маршрутизатор и сделайте его недоступным, как описано в следующем разделе «Как сделать маршрутизатор и процессор сообщений недоступными».
- Обновите выбранный маршрутизатор и все другие компоненты Edge на том же компьютере, что и маршрутизатор. Во всех конфигурациях Edge маршрутизатор и процессор сообщений расположены на одном узле.
- Снова сделайте маршрутизатор доступным.
- Повторите шаги 2–4 для остальных маршрутизаторов.
- Продолжите обновление для всех оставшихся компьютеров в вашей установке.
Делаем маршрутизатор и процессор сообщений недоступными
В производственной настройке у вас будет несколько маршрутизаторов и процессоров сообщений для достижения оптимальной производительности, и вам необходимо включить/отключить доступность этих маршрутизаторов и процессоров сообщений до/после обновления.
Следующий вызов API настраивает узел как доступный или недоступный:
> curl -u adminEmail:pWord -X POST "http://<ms_IP>:8080/v1/servers/UUID" -d "reachable=true|false"
где UUID — это UUID процессора сообщений или маршрутизатора, а для параметра «Достижимость» установлено значение «истина» или «ложь».
Если вам нужно определить UUID маршрутизатора, используйте следующую команду cURL:
> curl http://<routerIP>:8081/v1/servers/self
Если вам нужно определить UUID процессора сообщений, используйте следующую команду cURL:
> curl http://<mpIP>:8082/v1/servers/self
Позаботьтесь о следующем до/после обновления:
- На объединенном узле маршрутизатора и процессора сообщений:
- Перед обновлением выполните следующее:
- Сделайте маршрутизатор недоступным, используя вызов API, показанный выше.
- Сделайте процессор сообщений недоступным.
- После обновления - выполните следующее:
- Сделайте процессор сообщений доступным.
- Сделайте маршрутизатор доступным.
- Перед обновлением выполните следующее:
- На одном узле маршрутизатора:
- Перед обновлением сделайте маршрутизатор доступным.
- После обновления сделайте маршрутизатор доступным.
- На одном узле процессора сообщений:
- Перед обновлением сделайте процессор сообщений недоступным.
- После обновления сделайте процессор сообщений доступным.
Использование тихого файла конфигурации
Вы должны передать файл конфигурации в автоматическом режиме команде обновления. Файл автоматической конфигурации должен быть тем же, который вы использовали для установки Edge 4.16.01.
Процедура обновления 4.16.01 на узле с внешним подключением к интернету
Используйте следующую процедуру для обновления компонентов Edge на узле:
- Если они есть, отключите все задания CRON, настроенные для выполнения операции восстановления в Cassandra, до завершения обновления.
- Войдите на свой узел как root, чтобы установить Edge RPM.
Примечание . Хотя для установки RPM требуется root-доступ, вы можете выполнить настройку Edge без root-доступа. - Отключите SELinux, как описано в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/
- Очистите все кеши Yum:
> sudo ням очистить все - Загрузите последнюю версию файла Edge bootstrap.sh в /tmp/bootstrap.sh:
> завиток https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh - Обновите утилиту Edge apigee-service и зависимости:
> sudo bash /tmp/bootstrap.sh apigeeuser= uName apigeepassword= pWord
где uName:pWord — имя пользователя и пароль, полученные вами от Apigee. Если вы опустите pWord , вам будет предложено ввести его. - Используйте apigee-service для обновления утилиты apigee-setup :
> /opt/apigee/apigee-service/bin/apigee-service обновление apigee-setup
Это обновление apigee-service устанавливает утилиту update.sh в <inst_dir>/apigee/apigee-setup/bin . - Запустите утилиту обновления на своих узлах в порядке, описанном ниже в разделе «Порядок обновления машины»:
> /opt/apigee/apigee-setup/bin/update.sh -c компонент -f файл конфигурации
Единственное требование к файлу конфигурации — файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee». Например, поместите файл в каталог /tmp на узле.
Используйте опцию «-c», чтобы указать компонент для обновления. В список возможных компонентов входят:- ldap = OpenLDAP
- cs = Кассандр
- zk = Смотритель зоопарка
- qpid = qpidd
- пс = PostgreSQL
- Edge = все компоненты Edge, кроме пользовательского интерфейса Edge: сервер управления, процессор сообщений, маршрутизатор, сервер QPID, сервер Postgres.
- ui = Пограничный интерфейс
- all = обновить все компоненты на компьютере (используйте только для профиля установки Edge aio или профиля установки API BaaS asa)
- е = ЭластичныйПоиск
- b = стек API BaaS
- p = API BaaS-портала
- ebp = ElasticSearch, API BaaS Stack и API BaaS Portal на одном узле.
- Проверьте обновление, запустив утилиту apigee-validate на процессоре сообщений, как описано в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/
Процедура обновления 4.16.01 из локального репозитория
Если ваши пограничные узлы находятся за брандмауэром или каким-либо другим образом им запрещен доступ к репозиторию Apigee через Интернет, вы можете выполнить обновление из локального репозитория или зеркала репозитория Apigee.
После создания локального репозитория Edge у вас есть два варианта обновления Edge из локального репозитория:
- Создайте файл .tar репозитория, скопируйте файл .tar на узел, а затем обновите Edge из файла .tar.
- Установите веб-сервер на узле с локальным репозиторием, чтобы другие узлы могли получить к нему доступ. Apigee предоставляет вам веб-сервер Nginx, или вы можете использовать свой собственный веб-сервер.
Чтобы обновиться из локального репозитория 4.16.01:
- Убедитесь, что у вас есть локальный репозиторий 4.16.01, как описано в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/
- Обновите локальный репо:
- Загрузите последнюю версию файла Edge bootstrap.sh в /tmp/bootstrap.sh :
> завиток https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh - Выполните синхронизацию:
> /opt/apigee/apigee-service/bin/apigee-service синхронизация apigee-mirror --only-new-rpms
- Загрузите последнюю версию файла Edge bootstrap.sh в /tmp/bootstrap.sh :
- Чтобы установить сервис apigee из файла .tar:
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем /opt/apigee/data/apigee-mirror/apigee-4.16.01.tar.gz :
> /opt/apigee/apigee-service/bin/apigee-service пакет apigee-mirror - Скопируйте файл .tar на узел, где вы хотите обновить Edge. Например, скопируйте его в каталог /tmp на новом узле.
- На новом узле распакуйте файл в каталог /tmp:
> tar -xzf apigee-4.16.01.tar.gz
Эта команда создает новый каталог с именем repos в каталоге, содержащем файл .tar. Например /tmp/репозитории. - Войдите на свой узел как root, чтобы установить Edge RPM.
Примечание . Хотя для установки RPM требуется root-доступ, вы можете выполнить настройку Edge без root-доступа. - Отключите SELinux, как описано в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/
- Установите утилиту Edge apigee-service и зависимости из /tmp/repos:
> sudo bash /tmp/repos/bootstrap.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Обратите внимание, что в эту команду вы включаете путь к каталогу репозитория.
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем /opt/apigee/data/apigee-mirror/apigee-4.16.01.tar.gz :
- Чтобы установить сервис apigee с помощью веб-сервера Nginx:
- Настройте веб-сервер Nginx, как описано в разделе «Установка из репозитория с помощью веб-сервера Nginx» в Руководстве по установке Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/
- На удаленном узле загрузите файл Edge bootstrap.sh в /tmp/bootstrap.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap.sh -o /tmp/bootstrap.sh
where uName:pWord are the username and password you set above for the repo, and remoteRepo is the IP address or DNS name of the repo node.
- Log in to your node as root to install the Edge RPMs
Note: While RPM installation requires root access, you can perform Edge configuration without root access. - Disable SELinux as described in the Apigee Edge 4.16.01 Installation Guide, available on the Apigee FTP site: ftp://ftp.apigee.com/
- On the remote node, install the Edge apigee-service utility and
dependencies:
> sudo bash /tmp/bootstrap.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
where uName:pWord are the repo username and password.
- If present, disable any CRON jobs configured to perform a repair operation on Cassandra until after the update completes.
- Use apigee-service to update the apigee-setup utility:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
This update to apigee-service installs the update.sh utility in <inst_dir>/apigee/apigee-setup/bin. - Run the update utility on your nodes in the order described below in "Order of machine
update" below:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
The only requirement on the config file is that the configuration file must be accessible or readable by the "apigee" user. For example, put the file in the /tmp directory on the node.
Use the “-c” option to specify the component to update. The list of possible components includes:- ldap = OpenLDAP
- cs = Cassandr
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- edge =All Edge components except Edge UI: Management Server, Message Processor, Router, QPID Server, Postgres Server
- ui = Edge UI
- all = update all components on machine (only use for an Edge aio installation profile or an API BaaS asa installation profile)
- e = ElasticSearch
- b = API BaaS Stack
- p = API BaaS Portal
- ebp = ElasticSearch, API BaaS Stack, and API BaaS Portal on the same node
- Test the update by running the apigee-validate utility on the Message Processor, as described in the Apigee Edge 4.16.01 Installation Guide, available on the Apigee FTP site: ftp://ftp.apigee.com/
Order of machine update
The order that you update the machines in an Edge installation is important. The most important considerations to an update are:
- You must update all Cassandra and ZooKeeper nodes before you update any other nodes.
- You must update all qpidd and postgresql nodes before you update any Router and Message Processor nodes.
- For any machine with multiple Edge components (Management Server, Message Processor, Router, QPID Server, Postgres Server), use the "-c edge" option to update them all at the same time.
- If a step specifies that it should be performed on multiple machines, perform it in the specified machine order.
- There is no separate step to update Monetization. It is updated when you specify the "-c edge" option.
- After you update a Router node, you must remove all files from the /opt/nginx/conf.d directory, and then restart the Router.
For a 1-host standalone installation
- Update machine 1:
> /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- Удалите все файлы в /opt/nginx/conf.d :
> rm -f /opt/nginx/conf.d/* - Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service перезапуск пограничного маршрутизатора
Для автономной установки на 2 хоста
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra и ZooKeeper на машине 1:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- Обновите qpidd и postgresql на машине 2:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
- Обновите LDAP на машине 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Обновите компоненты Edge на машинах 2 и 1:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- На узле 1:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- Обновите пользовательский интерфейс на компьютере 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
Для кластерной установки из 5 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra и ZooKeeper на машинах 1, 2 и 3:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- Обновите qpidd и postgresql на машинах 4 и 5:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
- Обновите LDAP на машине 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Обновите компоненты Edge на машинах 4, 5, 1, 2, 3:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- На узле 2 и 3:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- Обновите пользовательский интерфейс на компьютере 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
Для кластерной установки из 9 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra и ZooKeeper на машинах 1, 2 и 3:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- Обновите qpidd на машинах 6 и 7:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- Обновите postgresql на машинах 8 и 9:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- Обновите LDAP на машине 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Обновите компоненты Edge на машинах 6, 7, 8, 9, 1, 4 и 5 в следующем порядке:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- На узле 4 и 5:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- Обновите пользовательский интерфейс на компьютере 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
Для кластерной установки из 13 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra и ZooKeeper на машинах 1, 2 и 3:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- Обновите qpidd на машинах 12 и 13:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- Обновите postgresql на машинах 8 и 9:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- Обновите LDAP на машинах 4 и 5:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Обновите компоненты Edge на компьютере 12, 13, 8, 9, 6, 7, 10 и 11 в следующем порядке:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- На узле 10 и 11:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- Обновите пользовательский интерфейс на машинах 6 и 7:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
Для кластерной установки из 12 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновление Кассандры и ZooKeeper:
- На компьютерах 1, 2 и 3 в центре обработки данных 1:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- На компьютерах 7, 8 и 9 в центре обработки данных 2.
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- На компьютерах 1, 2 и 3 в центре обработки данных 1:
- Обновить qpidd:
- Машины 4, 5 в дата-центре 1
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- Машины 10, 11 в ЦОД 2
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- Машины 4, 5 в дата-центре 1
- Обновить постгреск:
- Машины 6 в дата-центре 1
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- Машины 12 в дата-центре 2
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- Машины 6 в дата-центре 1
- Обновить LDAP:
- Машины 1 в дата-центре 1
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Машины 7 в дата-центре 2
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- Машины 1 в дата-центре 1
- Обновите компоненты Edge:
- Машины 4, 5, 6, 1, 2, 3 в дата-центре 1
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- Машины 10, 11, 12, 7, 8, 9 в дата-центре 2
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- На узле 2, 3, 8 и 9:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- Машины 4, 5, 6, 1, 2, 3 в дата-центре 1
- Обновить пользовательский интерфейс:
- Машина 1 в дата-центре 1
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- Машина 7 в дата-центре 2
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- Машина 1 в дата-центре 1
Для установки API BaaS на 7 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra на машинах 5, 6 и 7:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- Обновите стек ElasticSearch и API BaaS на машинах 1, 2 и 3:
> /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile
- Обновите API BaaS Portal на компьютере 4:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
Для установки API BaaS на 10 хостов
Список топологий Edge и номеров узлов см. в Руководстве по установке Apigee Edge 4.16.01, доступном на FTP-сайте Apigee: ftp://ftp.apigee.com/ .
- Обновите Cassandra на машинах 8, 9 и 10:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- Обновите ElasticSearch на машинах 1, 2 и 3:
> /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
- Обновите стек API BaaS на машинах 4, 5 и 6:
> /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
- Обновите портал API BaaS на компьютере 7:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
Для нестандартной установки
Если у вас нестандартная установка, то обновите компоненты Edge в следующем порядке:
- смотритель зоопарка
- Кассандра
- qpidd
- PostgreSQL
- ЛДАП
- Edge, что означает профиль «-c Edge» на всех узлах в следующем порядке: Qpid, Postgres, Сервер управления, Процессор сообщений, Маршрутизатор.
- На всех узлах маршрутизатора:
- Удалите все файлы в
/opt/nginx/conf.d
:> rm -f /opt/nginx/conf.d/*
- Перезапустите Edge Router:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- Удалите все файлы в
- пользовательский интерфейс