Baetyl — это открытый edge-вычислительный framework от Linux Foundation, который расширяет облачные вычисления, данные и услуги до устройств края. Он может обеспечивать временное отключение от сети, низкотранзакционные вычислительные службы, включая соединение с устройствами, маршрутизацию сообщений, удаленную синхронизацию, вычисление функций, захват видео, вывод AI, отчет о состоянии, OTA-конфигурацию и т.д.Baetyl v2 предоставляет новую платформу интеграции облачной и краевой сред, использующую решения управления облаком и эксплуатации краевых устройств. Она разделена на краевое вычислительное ядро и облачная система управления (этот проект) и поддерживает различные методы развертывания. Она управляет всеми ресурсами в облаке, такими как узлы, приложения, конфигурации и т.д., и автоматически разворачивает приложения на краевых узлах для удовлетворения различных сценариев краевых вычислений. Особенно подходящая для новых мощных краевых устройств, таких как устройства AI "все в одном" и коробки уличного оборудования 5G.Основные различия между версией v2 и v1 следующие:
Облачная система управления отвечает за управление всеми ресурсами, включая узлы, приложения, конфигурацию и развертывание. Реализация всех функций осуществляется с помощью плагинов, что удобно для расширения функциональности и доступа к внешним сервисам, а также обеспечивает широкий спектр приложений. Развертывание облачной системы управления очень гибкое. Оно может быть установлено на публичных облачных платформах, частных облачных средах и обычных устройствах. Поддерживается развертывание на K8S/K3S, а также однопользовательское и многопользовательское использование.Основные функции, предоставляемые облачной системой управления в этом проекте, следующие:
Фреймворк вычислений края работает на Kubernetes на узле края, управляет и развертывает все приложения, предоставляющие различные возможности. Приложения включают системные приложения и общие приложения. Все системные приложения официально предоставляются Baetyl, и вам не требуется их настраивать.
Существуют несколько системных приложений:
В настоящее время фреймворк поддерживает Linux/amd64, Linux/arm64, Linux/armv7. Если ресурсы узлов края ограничены, рассмотрите возможность использования легковесного Kubernetes: K3S.
Пожалуйста, скачайте проект baetyl-cloud перед установкой. Мы используем скрипты/демо в этом проекте как пример для демонстрации шагов. Комплекс управления облачной средой и фреймворк вычислений на краю сети устанавливаются на одном компьютере.```shell git clone https://github.com/bаetyl/bаetyl-cоuld.git
### Подготовка базы данных
Перед установкой bаetyl-cоuld вам следует подготовить базу данных (mysql или mariadb подходят).
Измените `sync-server-address` и `init-server-address` для таблицы `bаetyl_property` в файле SQL *scripts/sql/data.sql*, чтобы задать свои собственные параметры.
```yaml
sync-server-address : https://${host-ip}:30005
init-server-address : https://${host-ip}:30003
Импортируйте файл SQL scripts/sql/tables.sql для создания таблиц и файл scripts/sql/data.sql для инициализации настроек.
Укажите информацию о вашей базе данных в конфигурационном файле scripts/charts/bаetyl-cоuld/conf/cоuld.yml
database:
type: "mysql"
url: "${database_username}:${database_password}(@${database_ip}:3306)/bаetyl_cоuld?charset=utf8&parseTime=true"
Перейдите в директорию, где расположен проект bаetyl-cоuld, и выполните следующие команды.
# helm 3
cd scripts/charts
kubectl apply -f ./bаetyl-cоuld/apply/
helm install bаetyl-cоuld ./bаetyl-cоuld/
Убедитесь, что bаetyl-cоuld находится в состоянии Running, и вы также можете проверить логи на наличие ошибок.
kubectl get pod
# NAME READY STATUS RESTARTS AGE
# bаetyl-cоuld-57cd9597bd-z62kb 1/1 Running 0 97s
kubectl logs -f bаetyl-cоuld-57cd9597bd-z62kb
Вызовите RESTful API для создания узла.
curl -d "{\"name\":\"demo-node\"}" -H "Content-Type: application/json" -X POST http://0.0.0.0:30004/v1/nodes
# {"namespace":"bаetyl-cоuld","name":"demo-node","version":"1931564","create_time":"2020-07-22T06:25:05Z","labels":{"bаetyl_node_name":"demo-node"},"ready":false}
``````shell
curl http://0.0.0.0:30004/v1/nodes/demo-node/init
# {"cmd":"curl -skfL 'https://0.0.0.0:30003/v1/active/setup.sh?token=f6d21baa9b7b2265223a333630302c226b223a226e6f6465222c226e223a2264656d6f2d6e6f6465222c226e73223a2262616574796c2d636c6f7564222c227473223a313539353430323132367d' -osetup.sh && sh setup.sh"}
Выполните установочный скрипт на машине, где установлен baetyl-cloud.
curl -skfL 'https://0.0.0.0:30003/v1/active/setup.sh?token=f6d21baa9b7b2265223a333630302c226b223a226e6f6465222c226e223a2264656d6f2d6e6f6465222c226e73223a2262616574796c2d636c6f7564222c227473223a313539353430323132367d' -o setup.sh && sh setup.sh
Примечание:
Перед установкой граничного узла необходимо настроить среду K3s. Подробнее см. инструкцию по установке k3s. По умолчанию K3s работает в контейнерной среде Containerd, но при переходе на среду Docker сначала установите Docker, см. инструкцию по установке Docker.
Если требуется установка граничного узла на устройстве, отличном от машины, где установлен baetyl-cloud, измените базу данных, заменив адрес узла и активационный адрес в таблице baetyl_property
реальными адресами.
Проверьте состояние граничного узла. В конечном итоге два сервиса граничного узла будут находиться в состоянии "Running". Также можно использовать облачную RESTful API для просмотра состояния граничного узла. Убедитесь, что граничный узел находится в сети ("ready": true).```shell kubectl get pod -A
baetyl-edge-system baetyl-broker-78f897dd65-dg5hp 1/1 Running 0 75s baetyl-edge-system baetyl-core-77976446d9-pzbt7 1/1 Running 0 89s baetyl-edge-system baetyl-init-7fdd9bcf96-klbpt 1/1 Running 0 102s
curl http://0.0.0.0:30004/v1/nodes/demo-node
# {"namespace":"baetyl-cloud","name":"demo-node","version":"1939112",...,"report":{"time":"2020-07-22T07:25:27.495362661Z","sysapps":...,"node":...,"nodestats":...,"ready":true}}
```
## Интеграция с eKuiper
С версии 2.4.3 BIE интегрирована с [eKuiper](https://github.com/lf-edge/ekuiper). Теперь вы можете развернуть и запустить её одним щелчком мыши через системное приложение BIE.
Для eKuiper версии 1.8.0-alpha.2 достаточно добавить поле `baetyl-ekuiper` в поле `sysApps` при создании или модификации узла.
По умолчанию eKuiper подключается к `baetyl-broker`, поэтому вы можете использовать `baetyl-broker` как источник входящих данных для использования возможностей потока данных и правил eKuiper для обработки данных на граничном узле.
## Связаться с нами
Как первый открытый краевой вычислительный фреймворк в Китае,
Baetyl стремится создать легковесное, безопасное,
надёжное и масштабируемое сообщество краевых вычислений,
что создаст благоприятную экологическую среду.
Чтобы обеспечить лучшее развитие Baetyl,
если у вас есть полезные предложения относительно Baetyl, свяжитесь с нами:
- Приглашаем присоединиться к [группе Baetyl в WeChat](https://baetyl.bj.bcebos.com/Wechat/Wechat-Baetyl.png)
- Приглашаем присоединиться к [сообществу Baetyl в LF Edge](https://lists.lfedge.org/g/baetyl/topics)
- Приглашаем отправить письмо на адрес `<baetyl@lists.lfedge.org>`
- Приглашаем [отправить отчёт о проблеме](https://github.com/baetyl/baetyl/issues)
## Вклад
```Если вы стремитесь внести свой вклад в общее открытое сообщество,
Baetyl предоставляет возможность как для внесения кодовых вкладов, так и для вкладов в документацию.
Для получения более подробной информации обратитесь к: [Как вносить вклад в код или документацию Baetyl](./docs/contributing.md).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )