All Projects → acryldata → datahub-helm

acryldata / datahub-helm

Licence: Apache-2.0 License
Repository of helm charts for deploying DataHub on a Kubernetes cluster

Programming Languages

Mustache
554 projects
Smarty
1635 projects

Projects that are alternatives of or similar to datahub-helm

configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+54.55%)
Mutual labels:  helm, hacktoberfest2021
chic-ui
Lightweight CSS-in-JS styled UI Component Library for React
Stars: ✭ 39 (-11.36%)
Mutual labels:  hacktoberfest2021
Modding-Resources
A set of ressources for minecraft modding with MinecraftForge by the community
Stars: ✭ 42 (-4.55%)
Mutual labels:  hacktoberfest2021
khelm
A Helm chart templating CLI, kpt function and kustomize plugin
Stars: ✭ 46 (+4.55%)
Mutual labels:  helm
DeveloperFolio
A DevFolio/Developer Portfolio built using ReactJs and Animation libraries.
Stars: ✭ 51 (+15.91%)
Mutual labels:  hacktoberfest2021
Hacktober-Fest-2021
Repository for community contributions
Stars: ✭ 23 (-47.73%)
Mutual labels:  hacktoberfest2021
routinger
Routinger is a task scheduler app that is made to make you a better person at no extra cost. The code is open-source. Dart language and Flutter framework are used extensively.
Stars: ✭ 14 (-68.18%)
Mutual labels:  hacktoberfest2021
commodore
Commodore provides opinionated tenant-aware management of Kapitan inventories and templates. Commodore uses Kapitan for the heavy lifting of rendering templates and resolving a hierachical configuration structure.
Stars: ✭ 35 (-20.45%)
Mutual labels:  helm
AndroidEssentialLibraries
👻 Android Essential Libraries - A couple of the Android Libraries to use in your Projects 🛠
Stars: ✭ 203 (+361.36%)
Mutual labels:  hacktoberfest2021
SteamDepotDownloaderGUI
A simple GUI tool based on DepotDownloader for downloading Steam depots.
Stars: ✭ 26 (-40.91%)
Mutual labels:  hacktoberfest2021
imgur-scraper
Retrieve years of imgur.com's data without any authentication.
Stars: ✭ 26 (-40.91%)
Mutual labels:  hacktoberfest2021
To-Do-List
To-Do-List javascript project
Stars: ✭ 13 (-70.45%)
Mutual labels:  hacktoberfest2021
TheAlgorithms
This contains whatever you need to study about Algos...
Stars: ✭ 21 (-52.27%)
Mutual labels:  hacktoberfest2021
Hacktoberfest 2021
Hello, Welcome to this repo. don't forget to read guidelines in readme.md
Stars: ✭ 126 (+186.36%)
Mutual labels:  hacktoberfest2021
Python
Repository for Python Source Codes and Projects.
Stars: ✭ 18 (-59.09%)
Mutual labels:  hacktoberfest2021
FB-Ads-Opt-UCB
The easiest way to optimize Facebook Ads using Upper Confidence Bound Algorithm. 💻
Stars: ✭ 23 (-47.73%)
Mutual labels:  hacktoberfest2021
stackstorm-ha
K8s Helm Chart (βeta!) that codifies StackStorm (aka "IFTTT for Ops" https://stackstorm.com/) Highly Availability fleet as a simple to use reproducible infrastructure-as-code app
Stars: ✭ 74 (+68.18%)
Mutual labels:  helm
kartik python
It's my python repository, where I upload various python projects using many kinds of modules from tkinter to opencv to pygames. It's very fun to code them :)
Stars: ✭ 14 (-68.18%)
Mutual labels:  hacktoberfest2021
Chrome-Dino-Runner
🐱‍🐉 A Replica of the hidden Dinosaur Game from Chrome Browser Offline mode build using Python and PyGame.
Stars: ✭ 22 (-50%)
Mutual labels:  hacktoberfest2021
DSA
Write DSA Codes into it
Stars: ✭ 18 (-59.09%)
Mutual labels:  hacktoberfest2021

DataHub Kubernetes Helm Charts

Artifact Hub

Introduction

This repo provides the Kubernetes Helm charts for deploying Datahub and it's dependencies (Elasticsearch, optionally Neo4j, MySQL, and Kafka) on a Kubernetes cluster.

Setup

  1. Set up a kubernetes cluster
  2. Install the following tools:
    • kubectl to manage kubernetes resources
    • helm to deploy the resources based on helm charts. Note, we only support Helm 3.

Components

Datahub consists of 4 main components: GMS, MAE Consumer (optional), MCE Consumer (optional), and Frontend. Kubernetes deployment for each of the components are defined as subcharts under the main Datahub helm chart.

The main components are powered by 4 external dependencies:

  • Kafka
  • Local DB (MySQL, Postgres, MariaDB)
  • Search Index (Elasticsearch)
  • Graph Index (Supports either Neo4j or Elasticsearch)

The dependencies must be deployed before deploying Datahub. We created a separate chart for deploying the dependencies with example configuration. They could also be deployed separately on-prem or leveraged as managed services. To remove your dependency on Neo4j, set enabled to false in the datahub-kubernetes/prerequisites/values.yaml file. Then, override the graph_service_impl field in datahub-kubernetes/datahub/values.yaml to have the value elasticsearch instead of neo4j.

Quickstart

Assuming kubectl context points to the correct kubernetes cluster, first create kubernetes secrets that contain MySQL and Neo4j passwords.

kubectl create secret generic mysql-secrets --from-literal=mysql-root-password=datahub
kubectl create secret generic neo4j-secrets --from-literal=neo4j-password=datahub

The above commands sets the passwords to "datahub" as an example. Change to any password of choice.

Add datahub helm repo by running the following

helm repo add datahub https://helm.datahubproject.io/

Then, deploy the dependencies by running the following

helm install prerequisites datahub/datahub-prerequisites

Note, the above uses the default configuration defined here. You can change any of the configuration and deploy by running the following command.

helm install prerequisites datahub/datahub-prerequisites --values <<path-to-values-file>>

Run kubectl get pods to check whether all the pods for the dependencies are running. You should get a result similar to below.

NAME                                               READY   STATUS      RESTARTS   AGE
elasticsearch-master-0                             1/1     Running     0          62m
elasticsearch-master-1                             1/1     Running     0          62m
elasticsearch-master-2                             1/1     Running     0          62m
prerequisites-cp-schema-registry-cf79bfccf-kvjtv   2/2     Running     1          63m
prerequisites-kafka-0                              1/1     Running     2          62m
prerequisites-mysql-0                              1/1     Running     1          62m
prerequisites-neo4j-community-0                    1/1     Running     0          52m
prerequisites-zookeeper-0                          1/1     Running     0          62m

deploy Datahub by running the following

helm install datahub datahub/datahub

Values in values.yaml have been preset to point to the dependencies deployed using the prerequisites chart with release name "prerequisites". If you deployed the helm chart using a different release name, update the quickstart-values.yaml file accordingly before installing.

Run kubectl get pods to check whether all the datahub pods are running. You should get a result similar to below.

NAME                                               READY   STATUS      RESTARTS   AGE
datahub-acryl-datahub-actions-58b676f77c-c6pfx     1/1     Running     0          4m2s
datahub-datahub-frontend-84c58df9f7-5bgwx          1/1     Running     0          4m2s
datahub-datahub-gms-58b676f77c-c6pfx               1/1     Running     0          4m2s
datahub-datahub-mae-consumer-7b98bf65d-tjbwx       1/1     Running     0          4m3s
datahub-datahub-mce-consumer-8c57d8587-vjv9m       1/1     Running     0          4m2s
datahub-elasticsearch-setup-job-8dz6b              0/1     Completed   0          4m50s
datahub-kafka-setup-job-6blcj                      0/1     Completed   0          4m40s
datahub-mysql-setup-job-b57kc                      0/1     Completed   0          4m7s
elasticsearch-master-0                             1/1     Running     0          97m
elasticsearch-master-1                             1/1     Running     0          97m
elasticsearch-master-2                             1/1     Running     0          97m
prerequisites-cp-schema-registry-cf79bfccf-kvjtv   2/2     Running     1          99m
prerequisites-kafka-0                              1/1     Running     2          97m
prerequisites-mysql-0                              1/1     Running     1          97m
prerequisites-neo4j-community-0                    1/1     Running     0          88m
prerequisites-zookeeper-0                          1/1     Running     0          97m

You can run the following to expose the frontend locally. Note, you can find the pod name using the command above. In this case, the datahub-frontend pod name was datahub-datahub-frontend-84c58df9f7-5bgwx.

kubectl port-forward <datahub-frontend pod name> 9002:9002

You should be able to access the frontend via http://localhost:9002.

Once you confirm that the pods are running well, you can set up ingress for datahub-frontend to expose the 9002 port to the public.

Contributing

We welcome contributions from the community. Please refer to our Contributing Guidelines for more details.

Community

Join our slack workspace for discussions and important announcements.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].