EdgeGallery MEP проект
Введение
Edgegallery MEP — это открытая исходная MEP-схема, разработанная в соответствии со стандартами ETSI MEC 003 и 011.
В ETSI GS MEC 003 описывается MEP, который создаёт среду, позволяющую приложениям обнаруживать, оповещать, использовать и предоставлять MEC-сервисы. После получения от MEC-платформы менеджера, приложения или службы правил потока MEP выполняет соответствующие действия. Также MEP получает DNS-записи от MEC платформы менеджера и использует их для настройки DNS-прокси/сервера.
ETSI GS MEC 011 определяет MEP и Mp1-точку контакта между MEP и приложением, которая позволяет активировать базовые функции:
Архитектура MEP
Регистрация и обнаружение MEP Mp1-сервисов основаны на servicecomb-сервисе центра (servicecomb-сервис центра — это основанный на Restful сервис регистрации, обеспечивающий микросервисное обнаружение и управление). MEP использует функции регистрации и механизм плагинов servicecomb для реализации интерфейса Mp1. mep-server — это ядро MEP-сервера API. Он предоставляет API для регистрации или обнаружения сервисов MEC Apps на MEC-платформе.
Каталог кода MEP
├── kong-plugin
│ ├── appid-header
│ └── kong.conf
├── mepauth
├── mepserver
└── README.md
Выше представлено дерево каталогов проекта MEP: — kong-plugin: MEP API-шлюз kong-плагин; — mepserver: реализация MEP-сервера; — mepauth: модуль mepauth предоставляет API токенов для приложений.
Сборка и запуск MEP Большая часть кода проекта MEP написана на Golang, а kong-плагин — на Lua. Проект MEP публикуется через образ Docker.
Для сборки образа mepauth необходимо выполнить следующие шаги:
cd mepauth
sudo ./docker-build.sh
Для создания образа mepserver выполните следующие действия:
cd mepserver
sudo ./docker-build.sh
Чтобы запустить mepauth, выполните следующее:
docker run -itd --name mepauth \
--cap-drop All \
--network mep-net \
--link kong-service:kong-service \
-v ${MEP_CERTS_DIR}/jwt_publickey:${MEPAUTH_KEYS_DIR}/jwt_publickey:ro \
-v ${MEP_CERTS_DIR}/jwt_encrypted_privatekey:${MEPAUTH_KEYS_DIR}/jwt_encrypted_privatekey:ro \
-v ${MEP_CERTS_DIR}/mepserver_tls.crt:${MEPAUTH_SSL_DIR}/server.crt:ro \
-v ${MEP_CERTS_DIR}/mepserver_tls.key:${MEPAUTH_SSL_DIR}/server.key:ro \
-v ${MEP_CERTS_DIR}/ca.crt:${MEPAUTH_SSL_DIR}/ca.crt:ro \
-v ${MEPAUTH_CONF_PATH}:/usr/mep/mprop/mepauth.properties \
-e "MEPAUTH_APIGW_HOST=kong-service" \
-e "MEPAUTH_APIGW_PORT=8444" \
-e "MEPAUTH_CERT_DOMAIN_NAME=${DOMAIN_NAME}" \
-e "MEPSERVER_HOST=mepserver" \
edgegallery/mepauth:latest
MEP_CERTS_DIR — каталог, в котором хранятся сертификаты и ключи сервера mepauth. MEPAUTH_CONF_PATH — файл конфигурации mepauth.
Запустите mepserver следующим образом: MEP_CERTS_DIR — это каталог, содержащий сертификаты и ключи mep-сервера. MEP_ROOT_KEY_COMPONENT — случайный компонент корневого ключа длиной 256 бит. CERT_PASSPHRASE — пароль для создания сертификата.
docker run -itd --name mepserver --network mep-net -e "SSL_ROOT=${MEPSERVER_SSL_DIR}" \
--cap-drop All \
-v ${MEP_CERTS_DIR}/mepserver_tls.crt:${MEPSERVER_SSL_DIR}/server.cer:ro \
-v ${MEP_CERTS_DIR}/mepserver_encryptedtls.key:${MEPSERVER_SSL_DIR}/server_key.pem:ro \
-v ${MEP_CERTS_DIR}/ca.crt:${MEPSERVER_SSL_DIR}/trust.cer:ro \
-v ${MEP_CERTS_DIR}/mepserver_cert_pwd:${MEPSERVER_SSL_DIR}/cert_pwd:ro \
-e "ROOT_KEY=${MEP_ROOT_KEY_COMPONENT}" \
-e "TLS_KEY=${CERT_PASSPHRASE}" \
edgegallery/mep:latest
Дополнительные сведения о настройке сертификатов, ключей и сборке MEP см. в HERE.
Ссылки [1] https://www.etsi.org/deliver/etsi_gs/MEC/001_099/003/02.01.01_60/gs_MEC003v020101p.pdf
[2] https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )