klipper-lb
K8sClusterManagers.jl
klipper-lb | K8sClusterManagers.jl | |
---|---|---|
4 | 3 | |
317 | 30 | |
1.6% | - | |
4.9 | 4.7 | |
2 months ago | about 1 year ago | |
Shell | Julia | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
klipper-lb
-
Non-HTTP ports and ingress
Service By, formerly Klipper LB, could also be an option, this is also by default integrated in k3s: https://github.com/k3s-io/klipper-lb
-
doyouneedkubernetes.com
IMO Klipper is super simple compared to other load balancers: You setup a load balancer saying "hey I want to access this service on port 8080" and then you can access it from the outside by using "AnyKubernetesNodeIp:8080".
-
Deploy a k3s cluster at home backed by Flux2, SOPS, GitHub Actions, Renovate and more!
klipper (servicelb) is a very basic implementation of a load balancer, reading thru the issues you'll soon discover there's many reasons why metallb is preferred. For example klipper only supports externalTrafficPolicy: Cluster which means the real source IP of the request is not passed thru to the pod. The pod only gets the LB IP.
-
IA et Calcul scientifique dans Kubernetes avec le langage Julia, K8sClusterManagers.jl
GitHub - k3s-io/klipper-lb: Embedded service load balancer in Klipper
K8sClusterManagers.jl
-
IA et Calcul scientifique dans Kubernetes avec le langage Julia, K8sClusterManagers.jl
GitHub - beacon-biosignals/K8sClusterManagers.jl: A Julia cluster manager for Kubernetes
-
How to set up / use a Kubernetes-cluster for distributed-computing?
However, I don't really find documentation on how to do that! I read the README in this repository, which suggests to use SLURM, PBS or LSF as a job scheduler. Also, there's K8sClusterManager.jl, which seems like it could do what I wanted - I'm just surprised, that it is such a small project! I expected distributed computing via Kubernetes to be a big topic in Julia, yet I can't seem to find good documentation on how to actually set this up.
-
Beacon Biosignals raises $27M to scale EEG neurobiomarker discovery
Good questions!
> How exactly does Julia fit into your software architecture?
In a variety of ways:
- We have a bunch of external/internal Julia packages; Julia's package manager is really great at facilitating the development of "tooling ecosystems" comprised of lightweight libraries that compose well together. For example, we use Legolas.jl [1] in conjunction with a well-curated Arrow-in-S3 lake to help teams define lightweight, self-serviceable schemas for Arrow tables in a manner that integrates well with the wider Tables.jl ecosystem [2], interactive analysis workflows, and our own ETL/ELT-ish patterns.
- Julia powers some interesting services within Beacon's Platform. For example, one of our Julia services provides dynamic streaming DSP (multiplexing, filtering, statistics) for biosignal data, atop which we build other applications/pipelines for both product development and internal analysis work.
- We use Julia for exploratory distributed computing on K8s [3], which is awesome because Julia has a lot of potential in the distributed computing landscape (IMO [4]).
> Is your product a cloud offering and/or does it have a client side application?
We work with our clients to do neurobiomarker discovery, clinical trial design, deploy our analysis pipelines into clinical trials, and a few other interesting things :) One of the critical differentiators of Beacon is that we can precisely target and harness key EEG features to a degree that isn't possible without the kind of algorithms/tools we've developed.
> what do you even mean by data architecture for science-first teams
I want to do a blog post on this at some point, but a core value for us - across all of our processes, tooling, and data interactions - is self-serviceability and composability. IMO, the two are inextricably linked. Our goal is to empower each Beaconeer to perform analyses in an afternoon atop terabytes of data that would take them months in a lab atop gigabytes of data.
To achieve this, we treat large-scale data curation/manipulation as an activity that we're all empowered to participate in and contribute to, as opposed to an environment where separate data engineering teams have to administrate siloed systems. Tools like K8s/Julia/Arrow are key enablers here, by surfacing capabilities to domain experts that let them to iterate fast without needing to "throw problems over the wall" to other teams/systems.
It's not a perfect match, and it's a bit abstract, but I remember reading this post about "data meshes" [5] a while back and thinking "Hey, that's similar to what we're chasing after!"
[1] https://github.com/beacon-biosignals/Legolas.jl
[2] https://github.com/JuliaData/Tables.jl
[3] https://github.com/beacon-biosignals/K8sClusterManagers.jl
[4] https://news.ycombinator.com/item?id=24842084
[5] https://martinfowler.com/articles/data-mesh-principles.html
What are some alternatives?
metallb - A network load-balancer implementation for Kubernetes using standard routing protocols
k8s-device-plugin - Kubernetes (k8s) device plugin to enable registration of AMD GPU to a container cluster
Pyston - A faster and highly-compatible implementation of the Python programming language.
Pluto.jl - 🎈 Simple reactive notebooks for Julia
enhancements - Enhancements tracking repo for Kubernetes
Kuber.jl - Julia Kubernetes Client
IJulia.jl - Julia kernel for Jupyter
NeuralPDE.jl - Physics-Informed Neural Networks (PINN) Solvers of (Partial) Differential Equations for Scientific Machine Learning (SciML) accelerated simulation
scope - Monitoring, visualisation & management for Docker & Kubernetes
AMDGPU.jl - AMD GPU (ROCm) programming in Julia