Требования к установке

Edge for Private Cloud v4.18.05

Требования к оборудованию

Для высокодоступной инфраструктуры в рабочей среде необходимо соблюдать следующие минимальные требования к оборудованию.

В следующем видео приведены общие рекомендации по выбору размера для вашей установки:

Ниже приведены минимальные требования к аппаратному обеспечению для всех сценариев установки, описанных в разделе Топологии установки.

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

Компонент установки ОЗУ ЦП Минимальный объем жесткого диска
Cassandra 16 ГБ 8-ядерный 250 ГБ локального хранилища на SSD или быстром HDD, поддерживающем 2000 операций ввода-вывода в секунду.
Message Processor и Router на одном компьютере 16 ГБ 8-ядерный 100 ГБ
Аналитика – Postgres/Qpid на одном сервере 16 ГБ* 8-ядерный* Сетевое хранилище*** объемом 500 ГБ – 1 ТБ**, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду*.
Аналитика – автономный Postgres 16 ГБ* 8-ядерный* Сетевое хранилище*** объемом 500 ГБ – 1 ТБ**, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду*.
Analytics – Qpid standalone 8 ГБ 4-ядерный 30–50 ГБ локального хранилища на SSD или быстром HDD.

Для установок с более чем 250 транзакциями в секунду рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 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 по следующим причинам:

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

Кроме того, ниже перечислены требования к оборудованию, если вы хотите установить сервисы монетизации:

Компонент с монетизацией ОЗУ ЦП Жесткий диск
Сервер управления (с сервисами монетизации) 8 ГБ 4-ядерный 60 ГБ
Аналитика – Postgres/Qpid на одном сервере 16 ГБ 8-ядерный Сетевое хранилище объемом 500 ГБ – 1 ТБ, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду, или используйте правило из таблицы выше.
Аналитика – автономный Postgres 16 ГБ 8-ядерный Сетевое хранилище объемом 500 ГБ – 1 ТБ, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду, или используйте правило из таблицы выше.
Analytics – Qpid standalone 8 ГБ 4-ядерный Локальное хранилище объемом 40–500 ГБ с SSD или быстрым HDD.

Для установок с более чем 250 транзакциями в секунду рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду.

Требования к операционной системе и стороннему ПО

Эти инструкции и файлы установки были протестированы на операционных системах и стороннем ПО, перечисленных в разделе Поддерживаемое ПО и его версии.

Создание пользователя apigee

В процессе установки создается пользователь системы Unix с именем apigee. Каталоги и файлы Edge принадлежат пользователю apigee, как и процессы Edge. Это означает, что компоненты Edge запускаются от имени пользователя apigee. При необходимости вы можете запускать компоненты от имени другого пользователя.

Каталог установки

По умолчанию установщик записывает все файлы в каталог /opt/apigee. Изменить папку их размещения нельзя. Вы не можете изменить этот каталог, но можете создать символическую ссылку, чтобы сопоставить /opt/apigee с другим местоположением, как описано в разделе Создание символической ссылки из /opt/apigee.

В инструкциях этого руководства каталог установки обозначается как /opt/apigee.

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

Чтобы создать символическую ссылку, выполните следующие действия, прежде чем скачивать файл bootstrap_4.18.05.sh. Все эти действия необходимо выполнять от имени пользователя root:

  1. Создайте пользователя и группу apigee:
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Создайте символическую ссылку из /opt/apigee в нужный корневой каталог установки:
    ln -Ts /srv/myInstallDir /opt/apigee

    где /srv/myInstallDir – папка, в которой вы хотите сохранить файлы Edge.

  3. Измените владельца корневого каталога установки и символической ссылки на пользователя 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…

Настройки размещения

Рекомендуем проверить настройки сети перед установкой. Установщик предполагает, что у всех компьютеров фиксированные 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 могут блокировать связь некоторых портов и влиять на установку 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

Убедитесь, что у Edge Router есть доступ к /etc/rc.d/init.d/functions

Пограничный маршрутизатор использует маршрутизатор 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_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

База данных 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

Чтобы задать эти значения:

  1. Отредактируйте файл postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Если файла нет, создайте его.

  2. Задайте свойства, перечисленные выше.
  3. Сохраните изменения.
  4. Перезапустите базу данных 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 (Name Service Cache Daemon).

Если вы установили и включили NSCD (Name Service Cache Daemon), Message Processor выполняет два DNS-запроса: один для IPv4 и один для IPv6. При использовании NSCD необходимо отключить DNS-запросы по протоколу IPv6.

Чтобы отключить DNS-запрос по IPv6, выполните следующие действия:

  1. На каждом узле Message Processor измените файл /etc/nscd.conf.
  2. Задайте следующее свойство:
    enable-cache hosts no

Как отключить IPv6 на Google Cloud Platform для RedHat/CentOS 7

Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на Google Cloud Platform, то вам необходимо отключить IPv6 на всех узлах Qpid.

Инструкции по отключению IPv6 можно найти в документации по RedHat или CentOS для вашей версии ОС. Например, вы можете:

  1. Откройте файл /etc/hosts в редакторе.
  2. Вставьте символ "#" в первый столбец следующей строки, чтобы закомментировать ее:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Сохраните файл.

AWS AMI

Если вы устанавливаете Edge на AWS Amazon Machine Image (AMI) для 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. Если у вашего сервера нет подключения к интернету, перед запуском скрипта установки Edge убедитесь, что OpenLDAP уже установлен. В RHEL/CentOS для установки OpenLDAP можно выполнить команду yum install openldap-clients openldap-servers.

Для установок с 13 хостами и установок с 12 хостами и двумя центрами обработки данных требуется репликация OpenLDAP, поскольку OpenLDAP размещается на нескольких узлах.

Брандмауэры и виртуальные хосты

Термин virtual часто используется в сфере ИТ, в том числе в контексте развертывания Apigee Edge для Private Cloud и виртуальных хостов. Термин virtual используется в двух основных значениях:

  • Виртуальные машины. Необязательно, но в некоторых развертываниях используются виртуальные машины для создания изолированных серверов для компонентов Apigee. У хостов виртуальных машин, как и у физических хостов, могут быть сетевые интерфейсы и брандмауэры.
  • Виртуальные хосты – веб-конечные точки, аналогичные виртуальному хосту Apache.

Маршрутизатор на виртуальной машине может предоставлять несколько виртуальных хостов (если они отличаются друг от друга псевдонимом хоста или портом интерфейса).

Например, на одном физическом сервере A могут работать две виртуальные машины – VM1 и VM2. Предположим, что VM1 предоставляет виртуальный интерфейс Ethernet, который в виртуальной машине называется eth0 и которому средства виртуализации или сетевой DHCP-сервер назначают IP-адрес 111.111.111.111. Предположим также, что 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.

Маршрутизатор в VM2 предоставляет доступ к api.mycompany.com:80 (то же имя и порт, что и у VM1).

В операционной системе физического хоста может быть сетевой брандмауэр. В этом случае он должен быть настроен на передачу 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.

Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество Message Processor (MP). Если срок действия какой-либо из лицензий истек, журналы можно найти в папке /opt/apigee/var/log/edge-management-server/logs. В этом случае вы можете обратиться в службу поддержки Apigee Edge, чтобы узнать больше о переносе.

Если у вас нет лицензии, обратитесь в отдел продаж Apigee.