Skip to content

Commit 9f77bfa

Browse files
committed
updated the README
1 parent 339ff2b commit 9f77bfa

File tree

3 files changed

+182
-21
lines changed

3 files changed

+182
-21
lines changed

README.md

Lines changed: 182 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,194 @@
1-
# beamstack
2-
<img src="https://github.com/BeamStackProj/beamstack-cli/blob/main/logo/beamstack.png" width="300">
3-
----
1+
<p align="center">
2+
<picture>
3+
<source media="(prefers-color-scheme: light)" srcset="./assets/beamstack-logo.png">
4+
<img width="300" height="260" src="./assets/beamstack-logo.png">
5+
</picture>
6+
<h1 align="center" style="font-size: 24px;">Kubernetes Framework for deploying ML and GenAI Apache Beam workflows</h1>
7+
</p>
48

5-
beamstack is a revolutionary tool that has been meticulously crafted to simplify and revolutionize
6-
the deployment of machine learning (ML) workflows on [Kubernetes](https://kubernetes.io/docs/concepts/overview/). It offers a holistic solution by
7-
introducing abstraction layers that streamline the deployment of diverse components
8-
of ML pipelines, data processing workflows, and deployment infrastructure.
9+
<p align="center">
10+
<a href="https://beamstack.netlify.app/docs/" rel="nofollow"><strong>Explore Beamstack Documentation »</strong></a>
11+
<a href="https://beamstack.netlify.app/community/"><strong>Join Beamstack Community »</strong></a>
12+
<a href="https://beamstack.netlify.app/blog/"><strong>Explore Blogs »</strong></a>
13+
<a href="https://discord.gg/fYNnNVaEFK"><strong>Join Discord Channel</strong></a>
14+
</p>
915

16+
</p>
17+
<p align="center">
18+
<a href="https://discord.gg/fYNnNVaEFK"><img src="https://img.shields.io/badge/Join%20us%20on-Discord-e01563.svg" alt="Join Discord"></a>
19+
<a href="http://golang.org"><img src="https://img.shields.io/badge/Made%20with-Go-1f425f.svg" alt="made-with-Go"></a>
1020

11-
At the heart of beamstack's capabilities lie Kubernetes Custom Resource Definitions (CRDs). These CRDs
12-
serve as a powerful mechanism for extending the Kubernetes API, enabling the seamless integration
13-
of ML-specific resources into the Kubernetes ecosystem. Through this innovative approach,
14-
beamstack empowers users to leverage the robust features and functionalities of
15-
Kubernetes while unlocking the immense potential of ML.
21+
## **Beamstack Features**
1622

17-
----
23+
<style>
24+
details {
25+
margin-bottom: 10px;
26+
}
27+
details summary {
28+
cursor: pointer;
29+
font-weight: bold;
30+
}
31+
details ul {
32+
margin: 0;
33+
padding-left: 20px;
34+
list-style-type: disc;
35+
}
36+
</style>
1837

19-
## minikube
20-
```sh
21-
minikube delete && minikube start --kubernetes-version=v1.23.0 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.bind-address=0.0.0.0 --extra-config=controller-manager.bind-address=0.0.0.0
22-
```
23-
## To start using beamstack
38+
<details>
39+
<summary><b>Simplified ML Workflow Deployment</b></summary>
40+
<ul>
41+
<li>Beamstack simplifies the deployment of machine learning workflows on Kubernetes.</li>
42+
</ul>
43+
</details>
2444

25-
Basic to advanced knowledge on kubernetes is advised.
45+
<details>
46+
<summary><b>Holistic Solution</b></summary>
47+
<ul>
48+
<li>Beamstack offers an all-encompassing solution for managing machine learning pipelines, data processing workflows, and deployment infrastructure.</li>
49+
</ul>
50+
</details>
2651

27-
## Installing beamstack
52+
<details>
53+
<summary><b>Abstraction Layers:</b></summary>
54+
<ul>
55+
<li>Beamstack introduces abstraction layers that streamline the deployment of various components within ML pipelines.</li>
56+
</ul>
57+
</details>
2858

29-
```
59+
<details>
60+
<summary><b>Leveraged Kubernetes Custom Resource Definitions (CRDs):</b></summary>
61+
<ul>
62+
<li>Beamstack uses Kubernetes CRDs to extend the Kubernetes API, allowing smooth integration of machine learning-specific resources.</li>
63+
</ul>
64+
</details>
65+
66+
<details>
67+
<summary><b>Seamless Integration with Kubernetes:</b></summary>
68+
<ul>
69+
<li>Beamstack empowers users to leverage Kubernetes' features while incorporating machine learning capabilities into the Kubernetes ecosystem.</li>
70+
</ul>
71+
</details>
72+
73+
<details>
74+
<summary><b>Easily Monitor and Visualize Deployed Workflows:</b></summary>
75+
<ul>
76+
<li>Beamstack seamlessly integrates with Prometheus and Grafana to visualize the states of the deployed workflows in real time.</li>
77+
</ul>
78+
</details>
79+
80+
---
81+
82+
## **Architecture of beamstack**
83+
<p align="center"><img src="./assets/beamstack-arch.png"></p>
84+
85+
---
86+
87+
<style>
88+
ul {
89+
padding-left: 0;
90+
list-style-position: inside;
91+
}
92+
li {
93+
margin-left: 0;
94+
}
95+
</style>
96+
97+
## **Components of Beamstack**
98+
<ul>
99+
<li>Beamstack CLI</li>
100+
<li>Beamstack Custom Transforms</li>
101+
<li>Apache Beam YAML</li>
102+
</ul>
103+
104+
---
105+
106+
## **Installation**
107+
108+
### Setup Kubernetes cluster:
109+
To be able to work with beamstack-cli, an active Kubernetes cluster is required.
110+
111+
A local Kubernetes cluster can be setup using minikube.
112+
113+
```bash
114+
minikube delete && minikube start --kubernetes-version=v1.23.0 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.bind-address=0.0.0.0 --extra-config=controller-manager.bind-address=0.0.0.0
115+
```
116+
117+
### Clone beamstack-cli resources:
118+
119+
```bash
30120
git clone https://github.com/BeamStackProj/beamstack-cli.git
121+
```
122+
123+
### Install beamstack-cli:
124+
125+
```bash
31126
cd beamstack-cli
32127
make install
33128
```
129+
---
130+
131+
## **Examples of beamstack commands**
132+
133+
### Initialize a Kubernetes Cluster with Beamstack & Monitoring tools:
134+
135+
```bash
136+
beamstack init -m
137+
```
138+
139+
### Get the current kubernetes cluster context and profile info:
140+
141+
```bash
142+
beamstack info
143+
```
144+
145+
### Display the name, status and age of a cluster:
146+
147+
```bash
148+
beamstack info cluster
149+
```
150+
151+
### Create a runner cluster:
152+
153+
```bash
154+
beamstack create [runner-cluster] [cluster-name]
155+
```
156+
157+
### Open runner UI:
158+
159+
```bash
160+
beamstack open [runner] [runner-cluster-name]
161+
```
162+
163+
### Deploy a pipeline:
164+
165+
```bash
166+
beamstack deploy pipeline [FILE] [flags]
167+
```
168+
169+
### Create a vector store:
170+
171+
```bash
172+
beamstack create vector-store --type=elasticsearch
173+
```
174+
175+
### Get help:
176+
177+
```bash
178+
beamstack --help
179+
180+
beamstack [command] --help
181+
```
182+
183+
## **Support, Contribution, and Community**
184+
185+
### :busts_in_silhouette: Community
186+
187+
Get updates on Beamstack's development and chat with project maintainers, contributors, and community members
188+
- Visit the [Community Page](https://beamstack.netlify.app/community/)
189+
- Raise feature requests, suggest enhancements, and report bugs in our [GitHub Issues](https://github.com/BeamStackProj/beamstack-cli/issues)
190+
- Articles, Howtos, Tutorials - [Beamstack Blogs](https://beamstack.netlify.app/blog/)
191+
192+
### :handshake: Contribute
193+
194+
Take a look at our [contributing guidelines](https://beamstack.netlify.app/docs/contribution-guidelines) for information on how to open issues, adhere to coding standards, and understand our development processes. We greatly value your contribution.

assets/beamstack-arch.png

485 KB
Loading
File renamed without changes.

0 commit comments

Comments
 (0)