🚀teaser
Карвел
«Предоставляет набор надежных одноцелевых, композиционных инструментов, которые помогают в вашем здании приложений, конфигурации и развертывании в Kubernetes».
Посмотрим, как Вендир
, который является одним из этих инструментов, может помочь развернуть вещи проще, даже если вы не работаете с Kubernetes.
📑introduction
Neo4j это очень хороший способ играть с графической базой данных.
Поставляется в виде пакетов, как сервис и как Docker Image Анкет
Функции NEO4J могут быть расширены благодаря плагинам, один из них Apoc :
NEO4J-CONTRIB/NEO4J-APOC-процессы
Потрясающие процедуры на Cypher для neo4j — кодовой «apoc» Если вам это нравится, пожалуйста, ★ выше ⇧
Введение
NEO4J 3.x представил концепцию определяемых пользователями процедур и функций, которые представляют собой пользовательские реализации определенных функций, которые не могут быть (легко) выражены в самом Cypher, они реализованы в Java и могут быть легко развернуты в вашем экземпляре Neo4J, и и Затем будет вызван из Cypher напрямую.
Библиотека APOC состоит из многих (около 450) процедур и функций, чтобы помочь с множеством различных задач в таких областях, как интеграция данных, алгоритмы графика или преобразование данных.
Лицензия
Apache License 2.0
«Апок» история имени
Apoc был техником и водителем на борту Навуходоносора в фильме Матрицы. Он был убит Сайфером.
Apoc был также первым объединенным Пакет компонента Для NEO4J в 2009 году.
Apoc Также означает «Потрясающие процедуры на Cypher»
Установка: с настольным компьютером NEO4J
APOC Full может быть установлен с NEO4J Desktop , после создания вашей базы данных, перейдя в Управление
…
Вот Некоторые функции APOC добавляет NEO4J:
- Импорт
CSV
,json
и дажеXLS
файлы - Подключитесь к любому драйверу JDBC мы можем запросить любой внешний источник данных
- Обработка естественного языка (NLP)
- Запустите http -запросы, чтобы мы могли загрузить данные, вызывая службы REST
- Обеспечить готовые к использованию Графические алгоритмы
- Генерировать документацию Благодаря самоанализму графа
- …
Все, что вам нужно сделать, это сделать:
- Скачать библиотеку APOC
- Отбросить плагин в определенном каталоге
🎁 Распределительные ароматы
Давайте сосредоточимся на двух конкретных ароматах:
- Режим графического интерфейса
- Режим Docker
Режим графического интерфейса
Режим графического интерфейса очень полезен, и все операции установки очень плавно установлены, идеально подходит для выполнения демонстраций, объясните каждый шаг, но требует довольно важного количества кликов. Кроме того, вы получаете мастер для установления библиотеки APOC правильно.
Этот режим очень хорошо подходит для живых демонстраций, поскольку он обеспечивает приятные визуальные эффекты, которые облегчают вам объяснение концепций во время игры с ними.
🐳docker режим
Этот режим позволяет запускать все из кода. Тем не менее, Вы должны выполнить некоторые дополнительные в конечном итоге ручные задачи :
- Скачать Apoc Jar
- Поместите
Jar
В правильном каталоге и дайте правильные привилегии
👉 Цель этого поста — документировать это, чтобы сделать вещи еще проще с помощью инструмента под названием Продавец Карвела
Продавец Карвела
Цель Вендир
это Декларативно государственный справочник.
Вы можете:
«Синхронизируется любое количество источников данных в постоянную структуру, написав определение YAML. Поделитесь определением или сгенерированным файлом блокировки и убедитесь, что вся ваша команда работает в соответствии с теми же ожиданиями ».
VMware-Tanzu/Carvel-Vendor
Легкий способ поставщика частей GIT Repos, выпусков Github, Helm Hards, содержимого изображения Docker и т. Д. декларативно
- Веб -сайт: https://carvel.dev/vendir
- Слова: # Carvel in Kubernetes Slack
- Документы с примером рабочего процесса и других деталей
- Установка: Возьмите предварительно построенные двоичные файлы из Страница выпуска или Homebrew Carvel Tap
- Отстава: Посмотрите, что мы задумали Анкет (Примечание: мы используем ZenHub, который требует разрешения GitHub).
Вендир
Позволяет заявить, что должно быть в каталоге. Это может быть использовано для программного обеспечения для продажи.
$ vendir sync # from a directory that contains vendir.yml
Функции:
- Различные источники
Получить репозитории GIT ( примеры/git , разрешение тега Semver в примерах /версии в том числе выбор Semver, Проверка GPG
- Выпустить выпуск GitHub (
- Примеры/Github-Release ) Вытащите Http Asset (
- Примеры/http ) Потяните содержимое изображения Docker (
- Примеры/Изображение ) Потянуть содержимое диаграммы Helm (
- Примеры/Хельм-диаграмма ) … дайте нам знать источники, которые вы хотели бы увидеть
- Держите только конкретные части вытянутого контента через IncludePaths/ExcudEpaths или Newrootpath
- Переопределить конкретный каталог с местным источником каталога для быстрой разработки
- Укажите, какие каталоги …
Делать все это из раковины
Во -первых, установить Вендир
:
На Linux:
brew tap vmware-tanzu/carvel brew install vendir
В окнах:
choco install vendir
Далее, создайте vendir.yml
Файл со следующим содержанием:
apiVersion: vendir.k14s.io/v1alpha1 kind: Config directories: - path: plugins/ contents: - path: . githubRelease: slug: neo4j-contrib/neo4j-apoc-procedures tag: 4.3.0.0 disableAutoChecksumValidation: true assetNames: ["apoc-*-all.jar"]
Давайте предположим, что у вас есть иерархия следующей каталога:
vendir.yml |__plugins
🎆 Далее, пусть Вендир
сделать работу:
vendir sync
Наконец, запустите изображение Docker и наслаждайтесь полностью эксплуатационным (настраивать картирование объемов) экземпляр Neo4J с предварительно установленным APOC:
docker run \ --name vendir-loves-neo4j \ -p7474:7474 -p7687:7687 \ -d \ -v $HOME/neo4j/data:/data \ -v $HOME/neo4j/logs:/logs \ -v /vagrant/import:/var/lib/neo4j/import \ -v /vagrant/plugins:/plugins \ --env NEO4J_AUTH=neo4j/S3CR37 \ --env NEO4J_dbms_security_procedures_unrestricted=apoc.\\\* \ neo4j:latest
Вы закончили, и процесс установки полностью автоматизирован и, конечно, самостоятельно документируется.
Теперь вы можете насладиться расширением APOC. Например, проверьте, как Импорт PostgreSQL Реляционная модель в NEO4J запустить Cypher Запросы и создайте красивые взгляды Гефи графики
Вывод
Надеемся, что этот пост помог вам сделать процесс установки более плавным, умнее и заставил вас обнаружить Carvel Tools Анкет
vmware-tanzu/carvel.dev
Источник для https://carvel.dev
Carvel предоставляет набор надежных одноцелевых, композиционных инструментов, которые помогают в вашем здании приложений, конфигурации и развертывании в Kubernetes.
Это список репо, связанных с Карвел проект.
- ytt — Конфигурация шаблона и наложения Kubernetes через структуры YAML, а не текстовые документы
- Капп — Установить, обновить и удалить несколько ресурсов Kubernetes как одно «приложение»
- kbld — Создание или эталонные изображения контейнеров в конфигурации Kubernetes неизбежно
- Imgpkg — объединить и перемещать конфигурацию приложения (с изображениями) через Docker Реестры
- Капп-Контроллер — Установите рабочий процесс развертывания приложений в приложении CRD. Надежные жители опыта работы с Каппом.
- Вендир — Объявление укажите, какие файлы должны быть в каталоге.
Экспериментальный:
Монтаж:
Плагины:
Примеры:
- Carvel-Simple-App-on-Kubernetes
- carvel-ytt-library-for-kubernetes
- carvel-ytt-library-for-kubernetes-demo
- Carvel-Guestbook-Example-on-Kubernetes
Местное развитие
Предварительные условия
Установить Лейка
- (Примечание «Hugo Extended» требуется, поскольку этот сайт использует SCSS)
- Предварительные двоичные файлы: https://github.com/gohugoio/hugo/releases
- macOS:
Вареть установить Хьюго
- Windows:
Choco
…
Оригинал: «https://dev.to/adriens/deploy-neo4j-s-apoc-plugin-with-code-thanks-to-carvel-vendir-33l4»