Центр обработки больших данных промышленного Интернета использует практику KubeEdge
Центр обработки больших данных промышленного Интернета использует практику KubeEdge

Предыстория проекта

В 2018 году Министерство промышленности и информационных технологий запустило Национальный проект инноваций и развития по созданию промышленного хаба. обработки данные. China Mobile существуют. Этот проект осуществляется компаниями Edge Collaboration и Сборка. функции, связанные с данными, из исследований и разработок.

требования и проблемы

Требовать

  • Собирайте производственные и эксплуатационные данные с завода и отправляйте их в облако.
  • Единый контроль в облаке: какие данные собираются и как обрабатываются

испытание

  • Только периферия может активно подключаться к облаку. Обратное невозможно (у периферии нет общедоступного IP-адреса).
  • Различные типы промышленного оборудования и протоколов не могут поддерживаться одновременно.
  • Когда сеть нестабильна, граничные узлы не могут работать автономно.
  • Граничные вычисления не поддерживаются при запуске приложений на пограничных узлах.
  • Ресурсов потребляется много.

Технологические возможности

Первым решением, которое мы рассмотрели, был EdgeX. EdgeX хорош для сбора данных и управления ими, но у него все еще есть недостатки в таких аспектах, как совместная работа в периферийном облаке. Это больше похоже на автономную архитектуру на периферии и не может быть подключено к облаку. У нас есть некоторые средства правовой защиты. Например, мы могли бы подключить узлы EdgeX к центральному облаку через VPN, но это решение менее масштабируемо.

Второе решение — K3s/K8s. Ни K3s, ни K8s не поддерживают совместную работу в периферийном облаке, а K8s потребляет слишком много ресурсов. Хотя K3 может работать с меньшим количеством ресурсов, он не поддерживает управление устройствами.

Затем мы попробовали OpenNESS, общую структуру. Однако для нас это слишком обычно. Нам нужно написать адаптеры практически для любой необходимой нам платформы, например для базовой Kubernetes. Рабочая нагрузка разработки относительно велика, а управление устройствами не поддерживается.

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

Но в конце концов мы решили использовать KubeEdge, поскольку он потребляет меньше ресурсов и обеспечивает совместную работу в периферийном облаке и управление устройствами.

Архитектурный дизайн

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

Глубоко внутри EdgeCore находится Mapper, стандарт управления устройствами и сбора данных. В настоящее время сообщество Mapper предлагает Modbus и Bluetooth. Например, если вы хотите управлять своей собственной камерой, вы можете запрограммировать ее с помощью Mapper. На верхнем уровне вы можете увидеть службы управления, инкапсулированные через Java и Spring Cloud. Если API KubeEdge или Kubernetes доступны пользователям, пользователи могут использовать эти открытые API для выполнения операций, которые могут иметь катастрофические последствия для изоляции данных и их кластеров Kubernetes. Вот почему необходима инкапсуляция.

Мы также разработали торговую площадку промышленных приложений для отдельных разработчиков и поставщиков, позволяющую разрабатывать и публиковать бесплатное или платное приложение KubeEdge Mapper. Пользователь KubeEdge и в то же время Разработчики Mapper приносят реальную пользу.

Сбор данных

Мы внесли следующие улучшения в KubeEdge:

  • Поддерживает более широкий спектр промышленных устройств и протоколов.

Вначале мы обнаружили, что KubeEdge поддерживает только Bluetooth и Modbus. Эти протоколы зафиксированы в KubeEdge CRD и не могут быть изменены. Для поддержки различных промышленных протоколов (некоторые из которых являются проприетарными) нам необходимо добавить несколько пользовательских расширений. Один из них — расширить существующие протоколы, такие как Modbus. Различные устройства могут иметь некоторые дополнительные конфигурации. В этом случае вы можете настроить поле, используя недавно добавленное поле CustomizedValue. Другой вариант — использовать CustomizedProtocol вместо протокола сообщества для настройки собственного протокола.

  • Упрощенная конфигурация устройства Сбор данных.

Промышленное упражнение иногда ассоциируется с обычным IT Развитие другое. Обычно мы определяем шаблоны перед определением экземпляров. Однако в промышленном существовании имеет смысл сначала определить экземпляр, а затем скопировать и изменить содержимое экземпляра. Например, 10 Однотипные датчики температуры подключаются к одной промышленной шине. За исключением того, что они Modbus Помимо смещения, они имеют одинаковые свойства. В этом случае вам просто нужно изменить смещение в экземпляре, мы сделали это, переместив PropertyVisitor в модели устройства в DeviceInstance. чтобы добиться этого. Мы также сделали настройку более гибкой. Например, вы можете настроить устройство так, чтобы оно сообщало данные о температуре один раз в час, а данные об использовании энергии — один раз в день. Задействованные элементы конфигурации, такие как CollectCycle, добавьте в PropertyVisitor, добавьте последовательный порт и TCP Конфигурация извлекается в общедоступную конфигурацию.

  • Оптимизируйте передачу двойных атрибутов.
  • Поддерживает настройку обходных данных.

Обход обработки данных

KubeEdge предоставляет правила очистки Kuiper. Сторонние приложения получают данные непосредственно с периферийных устройств MQTT.

мониторинг состояния

мониторинг Состояние очень важно для коммерческих продуктов. Кубе Эдж предоставляет файл с именем Cloud Stream канал. Этот канал можно использовать с MetricServer или Prometheus используются вместе. Но вам нужно настроить iptables на перехват трафика. Если вы это сделаете, то весь трафик будет перехватываться.

Поэтому мы разработали другое решение. Мы запускаем контейнер заданий cron на граничном узле, например, каждые 5 секунд, чтобы получать данные из NodeExporter на граничном узле, а затем передаем их в PushGateway, официальный компонент Prometheus. PushGateway развертывается в облаке. Таким образом, мы можем использовать облако для мониторинга всех пограничных узлов.

Другие возникшие проблемы

Совместное использование нескольких арендаторов

Kubernetes 允许Совместное использование нескольких арендаторов。но,существовать KubeEdge , разные устройства не могут быть развернуты в разных пространствах имен. Нам нужно пометить устройства и отфильтровать их по тегам. Пограничные рабочие узлы также не могут принадлежать определенному пространству имен. Он принадлежит арендатору и предназначен только для использования арендатором. В этом случае узлу необходимо инкапсулировать саму службу верхнего уровня.

Ограничения по IP-адресу

Обычно арендаторы подключают свои пограничные узлы к кластерам Kubernetes в облаке. Таким образом, кластеру требуются общедоступные IP-адреса, но в вашем проекте может не хватить IP-ресурсов. Например, у вас есть 200 общедоступных IP-адресов, но у вас 1000 клиентов. Как вы будете назначать IP-адреса своим кластерам клиентов?

IPv6 — лучшее решение. KubeEdge поддерживает IPv6, но мы его еще не пробовали.

Повторное использование портов

KubeEdge использует всего несколько портов, максимум 4 или 5. Порт по умолчанию — 10003, а общедоступный IP-адрес может повторно использоваться несколькими экземплярами KubeEdge.

Решение высокой доступности

KubeEdge повторно использует службы, развертывания и проверки состояния Kubernetes, чтобы обеспечить высокую доступность служб.

упражняться

Случай 1: сбор и обработка данных OPC-UA

После того, как пользователь подпишется на картограф OPC-UA, он будет доставлен на периферийный шлюз и работать с периферийным промышленным оборудованием после настройки. Например:

Сопоставитель OPC-UA собирает данные о температуре.

Приложение сигнализации краевого узла получает данные непосредственно от краевого узла.

Превышение порогового значения вызовет сигнал тревоги и устройство будет приостановлено.

KubeEdge регулирует порог.

Кейс 2: Промышленное видеонаблюдение

Это приложение работает автономно после доставки на периферию. Вывод ИИ выполняется на границе. Облако и периферия объединены, и модель можно обучить в облаке, а затем передать на периферию через KubeEdge.

KubeEdge управляет конфигурацией приложений видеонаблюдения на пограничных узлах.

Приложения видеонаблюдения работают автономно на периферийных узлах.

Собирайте видеопотоки с камер для вывода ИИ.

Проверьте защитные каски и рабочую одежду.

Обнаружение несанкционированного доступа.

обобщать

на основе KubeEdge из ПРОМЫШЛЕННОСТЬ Сбор данных

  • Различные типы промышленных протоколов могут поддерживаться с помощью CustomizedProtocol и CustomizedValue.
  • Используйте ConfigMaps для управления приложениями периферийных данных (Mapper) в облаке.
  • Обход данных (Spec/Data) упрощает обработку данных временных рядов.

Развертывание KubeEdge в реальном производстве

  • Мультиарендное решение
  • Различные решения для мониторинга
  • Решение высокой доступности
  • Решение для повторного использования IP-адреса

связанный KubeEdge Для получения более подробной информации посетите

Github:https://github.com/kubeedge/kubeedge

веб-сайт:https://kubeedge.io/en/

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose