О планетах, регионах, контейнерах, организациях, средах и виртуальных хостах

Edge for Private Cloud v4.18.05

Локальная установка Edge Private Cloud или экземпляр Edge состоит из нескольких компонентов Edge, установленных на наборе узлов сервера. На следующем изображении показаны взаимосвязи между планетой, регионами, подами, организациями, средами и виртуальными хостами, из которых состоит экземпляр Edge:

В таблице ниже описаны эти связи.

Компонент Содержит Связано с По умолчанию
Planet Один или несколько регионов –
Регион Один или несколько пакетов "dc-1"
Pod Один или несколько компонентов Edge. "central"
"gateway"
"analytics"
Организация к одной или нескольким средам; Один или несколько подов, содержащих Message Processor, и пользователь, действующий как администратор организации. Нет
Среда Один или несколько виртуальных хостов. Один или несколько процессоров сообщений в поде, связанном с родительской организацией. Нет
Виртуальный хост Один или несколько псевдонимов хоста. Нет

О планетах

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

О регионах

Регион – это группа из одного или нескольких подов. По умолчанию при установке Edge установщик создает один регион с именем dc-1, содержащий три pod-модуля, как показано в следующей таблице:

Регион Pods in the region
"dc-1" "gateway", "central", "analytics"

На изображении ниже показаны регионы по умолчанию.

На этом изображении показано, как балансировщик нагрузки направляет трафик на шлюз. Pod-модуль gateway содержит компоненты Edge Router и Message Processor, которые обрабатывают запросы к API. Если вы не определяете несколько центров обработки данных, вам не нужно создавать дополнительные регионы.

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

В Edge каждый регион называется центром обработки данных. Например, центр обработки данных на востоке США может обрабатывать запросы из Бостона, а центр в Сингапуре – запросы с устройств и компьютеров в Азии.

Например, на изображении ниже показаны два региона, соответствующие двум центрам обработки данных:

О пакетах

Pod – это группа, состоящая из одного или нескольких компонентов Edge и хранилищ данных Cassandra. Компоненты Edge можно установить на одном узле, но чаще их устанавливают на разных узлах. Хранилище данных Cassandra – это репозиторий данных, используемый компонентами Edge в поде.

По умолчанию при установке Edge установщик создает три pod-модуля и связывает с каждым из них следующие компоненты Edge и хранилища данных Cassandra:

Pod Компоненты Edge

Хранилища данных Cassandra

"gateway" Router, Message Processor cache-datastore
counter-datastore
dc-datastore
keyvaluemap-datastore
kms-datastore
"central" Management Server, Zookeeper, LDAP, UI, Qpid application-datastore
apimodel-datastore
audit-datastore
auth-datastore
identityzone-datastore
edgenotification-datastore
management-server
scheduler-datastore
user-settings-datastore
"analytics" Postgres analytics-datastore reportcrud-datastore

Компоненты Edge и хранилища данных Cassandra в поде gateway необходимы для обработки API. Для обработки запросов к API эти компоненты и хранилища данных должны быть запущены и работать. Компоненты и хранилища данных в модулях central и analytics не требуются для обработки API, но добавляют в Edge дополнительные функции.

На изображении ниже показаны компоненты каждого блока.

Вы можете добавить дополнительные поды Message Processor и Router к трем, созданным по умолчанию. Вы также можете добавить дополнительные компоненты Edge в существующий pod. Например, вы можете добавить дополнительные маршрутизаторы и процессоры сообщений в pod-сегмент шлюза, чтобы справиться с возросшей нагрузкой.

Обратите внимание, что pod-модуль gateway содержит компоненты Edge Router и Message Processor. Маршрутизаторы отправляют запросы только обработчикам сообщений в том же поде, а не в других подах.

Чтобы посмотреть сведения о регистрации сервера в конце установки для каждого pod-файла, используйте следующий вызов API: Это полезный инструмент мониторинга.

curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName

где ms_IP – IP-адрес или DNS-имя сервера управления, а podName – одно из следующих значений:

  • gateway
  • central
  • analytics

Например, для pod-модуля gateway:

curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway

Apigee возвращает выходные данные, похожие на следующие:

[ {
  "externalHostName" : "localhost",
  "externalIP" : "192.168.1.11",
  "internalHostName" : "localhost",
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ {
      "name" : "jmx.rmi.port",
      "value" : "1101"
    }, ... ]
  },
  "type" : [ "message-processor" ],
  "uUID" : "276bc250-7dd0-46a5-a583-fd11eba786f8"
}, 
{
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ ]
  },
  "type" : [ "dc-datastore", "management-server", "cache-datastore", "keyvaluemap-datastore", "counter-datastore", "kms-datastore" ],
  "uUID" : "13cee956-d3a7-4577-8f0f-1694564179e4"
},
{
  "externalHostName" : "localhost",
  "externalIP" : "192.168.1.11",
  "internalHostName" : "localhost",
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ {
      "name" : "jmx.rmi.port",
      "value" : "1100"
    }, ... ]
  },
  "type" : [ "router" ],
  "uUID" : "de8a0200-e405-43a3-a5f9-eabafdd990e2"
} ]

Атрибут type указывает тип компонента. Обратите внимание, что в нем перечислены хранилища данных Cassandra, зарегистрированные в pod-модуле. Хотя узлы Cassandra устанавливаются в pod-модуле gateway, вы увидите, что хранилища данных Cassandra зарегистрированы во всех pod-модулях.

Об организациях

Организация – это контейнер для всех объектов в аккаунте Apigee, включая API, продукты API, приложения и разработчиков. Организация связана с одним или несколькими модулями, каждый из которых должен содержать один или несколько процессоров сообщений.

В локальной установке Edge Private Cloud по умолчанию нет организаций. При создании организации вы указываете два типа информации:

  1. Пользователь, который выполняет функции администратора организации. Этот пользователь может добавлять в организацию других пользователей и назначать им роли.
  2. Pod-модуль gateway, содержащий Message Processor.

В организации может быть одна или несколько сред. При стандартной установке Edge вам будет предложено создать две среды: test и prod. Однако при необходимости вы можете создать дополнительные среды, например "промежуточная", "эксперименты" и т. д.

Организация предоставляет область действия для некоторых возможностей Apigee. Например, данные карты "ключ-значение" (KVM) доступны на уровне организации, то есть из всех сред. Другие возможности, например кеширование, ограничены определенной средой. Аналитические данные Apigee разделяются по комбинации организации и среды.

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

О средах

Среда – это контекст выполнения для прокси-серверов API в организации. Чтобы получить доступ к прокси-серверу API, его необходимо развернуть в среде. Прокси-сервер API можно развернуть в одной или нескольких средах.

В организации может быть несколько сред. Например, в организации можно определить среды dev, test и prod.

При создании среды вы связываете ее с одним или несколькими процессорами сообщений. Среда – это именованный набор процессоров сообщений, на которых работают прокси-серверы API. Каждая среда может быть связана с одними и теми же или разными процессорами сообщений.

Чтобы создать среду, укажите два параметра:

  1. Организация, в которой находится среда.
  2. Процессоры сообщений, которые обрабатывают запросы прокси-сервера API к среде. Эти Message Processor должны находиться в модуле, связанном с родительской организацией среды.
    По умолчанию при создании среды Edge связывает с ней все доступные обработчики сообщений в поде gateway. Вы также можете указать подмножество доступных процессоров сообщений, чтобы разные процессоры обрабатывали запросы к разным средам.

Процессор сообщений может быть связан с несколькими средами. Например, в вашей установке Edge есть два Message Processor: A и B. Затем вы создаете в организации три среды: dev, test и prod.

  • Для среды dev вы связываете Message Processor A, поскольку не ожидаете большого объема трафика.
  • Для среды test вы связываете Message Processor B, поскольку не ожидаете большого объема трафика.
  • Для среды prod вы связываете оба процессора сообщений, чтобы обрабатывать объем трафика на уровне рабочей среды.

Процессоры сообщений, назначенные среде, могут быть из одного или нескольких подов, охватывающих несколько регионов и центров обработки данных. Например, вы определяете среду global в своей организации, которая включает Message Processor из трех регионов, то есть трех разных центров обработки данных: США, Японии и Германии.

Развертывание прокси-сервера API в глобальной среде приводит к тому, что прокси-сервер API запускается на процессорах сообщений во всех трех центрах обработки данных. Трафик API, поступающий на маршрутизатор в любом из этих центров обработки данных, будет направляться только в Message Processor в этом центре обработки данных, поскольку маршрутизаторы направляют трафик только в Message Processor в том же поде.

О виртуальных хостах

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

Убедитесь, что номер порта, указанный виртуальным хостом, открыт на узле маршрутизатора. После этого вы сможете получить доступ к прокси-серверу API, отправив запрос по следующим URL:

http://routerIP:port/proxy-base-path/resource-name
https://routerIP:port/proxy-base-path/resource-name

Где:

  • http или https. Если виртуальный хост настроен на поддержку TLS/SSL, используйте HTTPS. Если виртуальный хост не поддерживает TLS/SSL, используйте HTTP.
  • routerIP:port – IP-адрес и номер порта виртуального хоста.
  • proxy-base-path и resource-name определяются при создании прокси-сервера API.

Обычно вы не публикуете свои API для клиентов с IP-адресом и номером порта. Вместо этого вы определяете запись DNS для маршрутизатора и порта. Пример:

http://myAPI.myCo.com/proxy-base-path/resource-name
https://myAPI.myCo.com/proxy-base-path/resource-name

Также необходимо создать псевдоним хоста для виртуального хоста, соответствующий доменному имени записи DNS. В примере выше псевдоним хоста – myAPI.myCo.com. Если у вас нет записи DNS, укажите в качестве псевдонима хоста IP-адрес маршрутизатора и порт виртуального хоста, например routerIP:port.

Подробнее о виртуальных хостах…

Создание первой организации, среды и виртуального хоста

После завершения установки Edge вашим первым действием обычно является создание организации, среды и виртуального хоста в процессе «регистрации». Чтобы выполнить регистрацию, запустите следующую команду на узле сервера управления Edge:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

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

Например, вы создаете:

  • Пользователь, которого вы назначите администратором организации.
  • Организация example
  • Среда в организации с названием prod, которая связана со всеми Message Processor в поде gateway.
  • Виртуальный хост в среде с названием default, который разрешает доступ по протоколу HTTP через порт 9001.
  • Псевдоним виртуального хоста.

После запуска этого скрипта вы можете получить доступ к своим API, используя URL в следующем формате:

http://routerIP:9001/proxy-base-path/resource-name

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

Подробнее о том, как зарегистрировать организацию…