Edge для частного облака версии 4.18.05
Требования к оборудованию
Для обеспечения высокой доступности инфраструктуры в рабочей среде необходимо соблюдать следующие минимальные требования к оборудованию.
В следующем видео приведены общие рекомендации по размеру для вашей установки:
В таблицах ниже приведены минимальные требования к оборудованию для компонентов установки во всех сценариях, описанных в разделе Топологии установки.
В этих таблицах требования к жесткому диску указаны в дополнение к пространству, необходимому для операционной системы. В зависимости от приложений и сетевого трафика для установки может потребоваться больше или меньше ресурсов, чем указано ниже.
| Компонент установки | ОЗУ | ЦП | Минимальный объем жесткого диска |
|---|---|---|---|
| Cassandra | 16 ГБ | 8-ядерный | 250 ГБ локального хранилища с SSD или быстрым HDD, поддерживающим 2000 операций ввода-вывода в секунду. |
| Обработчик/маршрутизатор сообщений на том же компьютере | 16 ГБ | 8-ядерный | 100 ГБ |
| Аналитика – Postgres/Qpid на одном сервере | 16 ГБ* | 8-ядерный* | 500 ГБ – 1 ТБ** сетевого хранилища***, желательно с твердотельным накопителем, поддерживающего 1000 операций ввода-вывода в секунду или более*. |
| Аналитика – отдельный сервер Postgres | 16 ГБ* | 8-ядерный* | 500 ГБ – 1 ТБ** сетевого хранилища***, желательно с твердотельным накопителем, поддерживающего 1000 операций ввода-вывода в секунду или более*. |
| Аналитика – отдельный сервис Qpid | 8 ГБ | 4 ядра | 30–50 ГБ локального хранилища с SSD или быстрым HDD.
Для установок с более чем 250 TPS рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду. Размер очереди Qpid по умолчанию составляет 20 ГБ. Если вам нужно увеличить емкость, добавьте дополнительные узлы Qpid. |
| Другое (OpenLDAP, интерфейс, сервер управления) | 4 ГБ | 2 ядра | 60 ГБ |
* Измените системные требования Postgres в зависимости от пропускной способности:
- Менее 250 транзакций в секунду: можно использовать 8 ГБ, 4 ядра с управляемым сетевым хранилищем***, поддерживающим 1000 операций ввода-вывода в секунду или более.
- Более 250 транзакций в секунду: 16 ГБ, 8 ядер, управляемое сетевое хранилище*** с поддержкой 1000 операций ввода-вывода в секунду или более
- Более 1000 транзакций в секунду: 16 ГБ, 8 ядер, управляемое сетевое хранилище*** с поддержкой 2000 операций ввода-вывода в секунду или более.
- Более 2000 транзакций в секунду: 32 ГБ, 16 ядер, управляемое сетевое хранилище*** с поддержкой 2000 операций ввода-вывода в секунду или более
- Более 4000 транзакций в секунду: 64 ГБ, 32 ядра, управляемое сетевое хранилище*** с поддержкой 4000 операций ввода-вывода в секунду или более
** Значение жесткого диска Postgres основано на стандартной аналитике, собранной Edge. Если вы добавите в данные аналитики специальные значения, то эти значения должны быть увеличены соответствующим образом. Чтобы узнать примерный объем хранилища, используйте следующую формулу:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
Пример:
(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)
= 1,194,393,600,000 bytes or 1194.4 GB
*** Для базы данных Postgresql рекомендуется использовать сетевое хранилище, поскольку:
- При необходимости размер хранилища можно динамически увеличивать.
- В большинстве современных подсистем среды/хранилища/сети IOPS можно настроить на лету.
- Снимки уровня хранилища можно включить в рамках решений для резервного копирования и восстановления.
Ниже перечислены требования к оборудованию, если вы хотите установить сервисы монетизации:
| Компонент с монетизацией | ОЗУ | ЦП | Жесткий диск |
|---|---|---|---|
| Сервер управления (с сервисами монетизации) | 8 ГБ | 4-ядерный | 60 ГБ |
| Аналитика – Postgres/Qpid на одном сервере | 16 ГБ | 8-ядерный | Сетевое хранилище емкостью 500 ГБ – 1 ТБ, желательно с серверной частью на основе SSD, поддерживающее 1000 операций ввода-вывода в секунду или больше, или используйте правило из таблицы выше. |
| Аналитика – отдельный сервер Postgres | 16 ГБ | 8-ядерный | Сетевое хранилище емкостью 500 ГБ – 1 ТБ, желательно с серверной частью на основе SSD, поддерживающее 1000 операций ввода-вывода в секунду или больше, или используйте правило из таблицы выше. |
| Аналитика – отдельный сервис Qpid | 8 ГБ | 4 ядра | 40–500 ГБ локального хранилища с SSD или быстрым HDD.
Для установок с более чем 250 TPS рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду. |
Требования к операционной системе и стороннему ПО
Эти инструкции по установке и прилагаемые файлы для установки были протестированы на операционных системах и стороннем ПО, перечисленных в разделе Поддерживаемое ПО и поддерживаемые версии.
Создание пользователя apigee
В процессе установки создается системный пользователь Unix с именем apigee. Каталоги и файлы Edge принадлежат пользователю apigee, как и процессы Edge. Это означает, что компоненты Edge работают как пользователь apigee. При необходимости вы можете запустить компоненты как другого пользователя.
Каталог установки
По умолчанию установщик записывает все файлы в каталог /opt/apigee. Изменить местоположение этого каталога нельзя. Изменить этот каталог нельзя, но вы можете создать символическую ссылку, чтобы сопоставить /opt/apigee с другим местоположением, как описано в разделе Создание символической ссылки из /opt/apigee.
В инструкциях в этом руководстве каталог установки обозначается как /opt/apigee.
Создание символической ссылки из /opt/apigee
Прежде чем создавать символическую ссылку, необходимо создать пользователя и группу с именем apigee. Это та же группа и пользователь, которые были созданы установщиком Edge.
Чтобы создать символическую ссылку, выполните следующие действия, прежде чем скачивать файл bootstrap_4.18.05.sh. Все эти действия необходимо выполнить с правами root:
- Создайте пользователя и группу apigee:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- Создайте символическую ссылку из
/opt/apigeeв нужный корневой каталог установки:ln -Ts /srv/myInstallDir /opt/apigee
В этом примере после /srv/myInstallDir указано желаемое расположение файлов Edge.
- Измените владельца корневого каталога установки и символической ссылки на пользователя apigee:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Java
Перед установкой на каждом компьютере должна быть установлена поддерживаемая версия Java 1.8. Список поддерживаемых JDK приведен в разделе Поддерживаемое ПО и его версии.
Убедитесь, что переменная среды JAVA_HOME указывает на корневой каталог JDK для пользователя, выполняющего установку.
SELinux
В зависимости от настроек SELinux у Edge могут возникнуть проблемы с установкой и запуском компонентов Edge. При необходимости во время установки можно отключить SELinux или перевести его в разрешительный режим, а затем снова включить. Подробнее о том, как установить утилиту apigee-setup для Edge…
Настройки размещения
Apigee рекомендует проверить настройки сети перед установкой. Установщик предполагает, что у всех машин есть статические IP-адреса. Чтобы проверить настройку, используйте следующие команды:
hostnameвозвращает название компьютера.hostname -iвозвращает IP-адрес для имени хоста, к которому можно обратиться с других машин.
В зависимости от типа и версии операционной системы вам может потребоваться изменить /etc/hosts и /etc/sysconfig/network, если имя хоста задано неправильно. Дополнительную информацию можно найти в документации к вашей операционной системе.
Если у сервера несколько сетевых карт, команда "hostname -i" возвращает список IP-адресов, разделенных пробелами. По умолчанию установщик Edge использует первый возвращенный IP-адрес, который может быть неправильным в некоторых ситуациях. В качестве альтернативы можно задать следующее свойство в файле конфигурации установки:
ENABLE_DYNAMIC_HOSTIP=y
Если для этого свойства задано значение "y", установщик предложит вам выбрать IP-адрес, который будет использоваться в процессе установки. Значение по умолчанию – n. Подробнее о файле конфигурации Edge…
TCP Wrappers
TCP Wrappers могут блокировать связь некоторых портов и влиять на установку OpenLDAP, Postgres и Cassandra. На этих узлах проверьте /etc/hosts.allow и /etc/hosts.deny, чтобы убедиться, что на нужных портах OpenLDAP, Postgres и Cassandra нет ограничений.
iptables
Убедитесь, что правила iptables не блокируют подключение между узлами на необходимых портах Edge. При необходимости вы можете остановить iptables во время установки, используя следующую команду:
sudo/etc/init.d/iptables stop
В CentOS 7.x:
systemctl stop firewalld
Убедитесь, что пограничный маршрутизатор может получить доступ к файлу /etc/rc.d/init.d/functions.
Маршрутизатор Edge использует маршрутизатор Nginx и требует доступа с правом чтения к /etc/rc.d/init.d/functions.
Если в соответствии с требованиями безопасности вам необходимо задать разрешения для /etc/rc.d/init.d/functions, не устанавливайте значение 700, иначе маршрутизатор не запустится. Разрешения можно установить на уровне 744, чтобы разрешить доступ на чтение к /etc/rc.d/init.d/functions.
Cassandra
Все узлы Cassandra должны быть подключены к кольцу. Cassandra хранит реплики данных на нескольких узлах, чтобы обеспечить надежность и отказоустойчивость. Стратегия репликации для каждого ключевого пространства Edge определяет, на каких узлах Cassandra размещаются реплики. Подробнее о коэффициенте репликации и уровне согласованности Cassandra…
Cassandra автоматически регулирует размер кучи Java в зависимости от доступной памяти. Подробнее о том, как настроить ресурсы Java в случае снижения производительности или высокого потребления памяти…
После установки Edge для частного облака вы можете проверить, правильно ли настроена Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Например, убедитесь, что скрипт установки Edge для частного облака задал следующие свойства:
cluster_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
База данных PostgreSQL
После установки Edge вы можете изменить следующие настройки базы данных PostgreSQL в зависимости от объема ОЗУ, доступного в вашей системе:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
Чтобы задать эти значения:
- Измените файл postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Если файла нет, создайте его.
- Задайте свойства, перечисленные выше.
- Сохраните изменения.
- Перезапустите базу данных PostgreSQL:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Системные ограничения
Убедитесь, что на узлах Cassandra и Message Processor заданы следующие системные ограничения:
- На узлах Cassandra задайте мягкие и жесткие ограничения memlock, nofile и адресного пространства (as) для пользователя, выполняющего установку (по умолчанию это пользователь apigee), в файле
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited
- На узлах Message Processor задайте максимальное количество дескрипторов открытых файлов равным 64 000 в файле
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже:apigee soft nofile 32768 apigee hard nofile 65536
При необходимости вы можете увеличить этот лимит. Например, если у вас одновременно открыто большое количество временных файлов.
Network Security Services (NSS)
Network Security Services (NSS) – это набор библиотек, которые помогают разрабатывать клиентские и серверные приложения с поддержкой безопасности. Убедитесь, что у вас установлена версия NSS 3.19 или более поздняя.
Чтобы проверить текущую версию:
yum info nss
Чтобы обновить NSS:
yum update nss
Дополнительную информацию можно найти в этой статье на сайте RedHat.
Отключение DNS-запросов по IPv6 при использовании NSCD (демона кеширования сервисов имен)
Если вы установили и включили NSCD (демон кеширования службы имен), процессоры сообщений выполняют два поиска DNS: один для IPv4 и один для IPv6. При использовании NSCD следует отключить DNS-запрос по IPv6.
Чтобы отключить DNS-запрос по протоколу IPv6, выполните следующие действия:
- На каждом узле Message Processor измените файл
/etc/nscd.conf. - Задайте следующее свойство:
enable-cache hosts no
Как отключить IPv6 в Google Cloud Platform для RedHat/CentOS 7
Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на Google Cloud Platform, то должны отключить IPv6 на всех узлах Qpid.
Инструкции по отключению IPv6 можно найти в документации RedHat или CentOS для вашей версии ОС. Например, вы можете:
- Откройте файл
/etc/hostsв редакторе. - Чтобы закомментировать строку, вставьте символ "#" в первый столбец следующей строки:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Сохраните файл.
AWS AMI
Если вы устанавливаете Edge на образ машины Amazon (AMI) AWS для Red Hat Enterprise Linux 7.x, сначала выполните следующую команду:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
Инструменты
В стандартной версии установщик использует следующие инструменты UNIX, предоставленные EL5 или EL6.
|
awk |
expr |
libxslt |
об/мин |
распаковать |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
hostname |
ls |
sed |
wc |
|
bc |
id |
net-tools |
sudo |
wget |
|
curl |
libaio |
perl (из procps) |
tar |
xerces-c |
| cyrus-sasl | libdb4 | pgrep (из procps) | tr | супер! |
|
дата |
libdb-cxx |
ps |
uuid |
chkconfig |
| dirname | libibverbs | pwd | uname | |
| echo | librdmacm | python |
ntpdate
Apigee рекомендует синхронизировать время на серверах. Если она ещё не настроена, для этой цели можно использовать утилиту ntpdate, которая проверяет, синхронизировано ли время на серверах. Утилиту можно установить с помощью yum install ntp. Это особенно полезно при репликации настроек OpenLDAP. Обратите внимание, что часовой пояс сервера должен быть UTC.
openldap 2.4
Для локальной установки требуется OpenLDAP 2.4. Если у вашего сервера есть подключение к интернету, скрипт установки Edge скачает и установит OpenLDAP. Если у вашего сервера нет подключения к интернету, убедитесь, что OpenLDAP уже установлен, прежде чем запускать скрипт установки Edge. В RHEL/CentOS можно выполнить команду yum install openldap-clients openldap-servers, чтобы установить OpenLDAP.
Для установок с 13 хостами и установок с 12 хостами и двумя центрами обработки данных требуется репликация OpenLDAP, поскольку OpenLDAP размещается на нескольких узлах.
Брандмауэры и виртуальные хосты
Термин virtual часто используется в сфере информационных технологий, и развертывание Apigee Edge для частного облака и виртуальных хостов не является исключением. Термин virtual используется в двух основных случаях:
- Виртуальные машины. Необязательно, но в некоторых развертываниях используются виртуальные машины для создания изолированных серверов для компонентов Apigee. У хостов виртуальных машин, как и у физических хостов, могут быть сетевые интерфейсы и межсетевые экраны.
- Виртуальные хосты. Веб-конечные точки, аналогичные виртуальным хостам Apache.
Маршрутизатор в виртуальной машине может предоставлять доступ к нескольким виртуальным хостам (если они отличаются друг от друга псевдонимом хоста или портом интерфейса).
Например, на одном физическом сервере A могут быть запущены две виртуальные машины с названиями VM1 и VM2. Предположим, что виртуальная машина VM1 предоставляет виртуальный интерфейс Ethernet, который в ней называется eth0 и которому присвоен IP-адрес 111.111.111.111 с помощью механизма виртуализации или сетевого сервера DHCP. Предположим также, что виртуальная машина VM2 предоставляет виртуальный интерфейс Ethernet, который также называется eth0 и которому присвоен IP-адрес 111.111.111.222.
В каждой из двух виртуальных машин может быть запущен маршрутизатор Apigee. Маршрутизаторы предоставляют конечные точки виртуального хоста, как в следующем гипотетическом примере:
Маршрутизатор Apigee в виртуальной машине VM1 предоставляет три виртуальных хоста в интерфейсе eth0 (у которого есть определенный IP-адрес): api.mycompany.com:80, api.mycompany.com:443 и test.mycompany.com:80.
Маршрутизатор в ВМ2 предоставляет доступ к api.mycompany.com:80 (с тем же именем и портом, что и в ВМ1).
В ОС физического хоста может быть сетевой брандмауэр. Если это так, его нужно настроить так, чтобы он пропускал TCP-трафик, предназначенный для портов, которые используются виртуализированными интерфейсами (111.111.111.111:{80, 443} и 111.111.111.222:80). Кроме того, в ОС каждой ВМ может быть собственный брандмауэр для интерфейса eth0, и он также должен разрешать подключение к портам 80 и 443.
Базовый путь – это третий компонент, который используется для маршрутизации вызовов API к разным прокси API, которые вы могли развернуть. Пакеты прокси-серверов API могут использовать одну конечную точку, если у них разные базовые пути. Например, один базовый путь может быть определен как http://api.mycompany.com:80/, а другой – как http://api.mycompany.com:80/salesdemo.
В этом случае вам понадобится балансировщик нагрузки или диспетчер трафика, который будет распределять трафик http://api.mycompany.com:80/ между двумя IP-адресами (111.111.111.111 на VM1 и 111.111.111.222 на VM2). Эта функция относится к вашей установке и настраивается вашей локальной сетевой группой.
Базовый путь задается при развертывании API. В приведенном выше примере вы можете развернуть два API, mycompany и testmycompany, для организации mycompany-org с виртуальным хостом, у которого псевдоним хоста api.mycompany.com, а порт – 80. Если вы не объявите базовый путь в развертывании, маршрутизатор не будет знать, какому API отправлять входящие запросы.
Однако если вы развернете API testmycompany с базовым URL /salesdemo, то пользователи будут обращаться к этому API по адресу http://api.mycompany.com:80/salesdemo. Если вы развернете API mycompany с базовым URL /, то пользователи смогут получить доступ к API по URL http://api.mycompany.com:80/.
лицензии;
Для каждой установки Edge требуется уникальный файл лицензии, который вы получаете от Apigee. При установке сервера управления вам нужно будет указать путь к файлу лицензии, например /tmp/license.txt.
Установщик копирует файл лицензии в папку /opt/apigee/customer/conf/license.txt.
Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество процессоров сообщений. Если срок действия каких-либо настроек лицензии истек, журналы можно найти по следующему пути: /opt/apigee/var/log/edge-management-server/logs.
В этом случае вы можете обратиться в службу поддержки Apigee Edge, чтобы узнать подробности переноса.
Если у вас ещё нет лицензии, свяжитесь с отделом продаж Apigee.