beacon-biosignals / K8sClusterManagers.jl

A Julia cluster manager for Kubernetes
Other
31 stars 5 forks source link

Support managers external to K8s clusters #108

Closed omus closed 1 year ago

omus commented 1 year ago

Replaces #94. Adds support for having the Julia cluster manager running externally from the workers running inside a cluster while retaining support for in-cluster managers.

Julia's Distributed package isn't well suited for the heterogeneous network connections we're using here so I was forced to extend the Distributed.connect function and modify it's behaviour for this particular cluster manager. In particular manager-to-worker connections need to use the special port-forwarded addresses while workers can continue to use intra cluster network connections.


omus commented 1 year ago

After doing a self-review I think there's something I can do to greatly simplify the code

Update: There was some room for improvement but not quite as much as I originally thought. We now no longer use a fixed port for workers and determining the pod IP address is a much simpler operation.

codecov[bot] commented 1 year ago

Codecov Report

Merging #108 (aeec2e3) into main (3fc33a8) will increase coverage by 22.58%. The diff coverage is 79.06%.

@@             Coverage Diff             @@
##             main     #108       +/-   ##
===========================================
+ Coverage   65.85%   88.44%   +22.58%     
===========================================
  Files           4        4               
  Lines         164      199       +35     
===========================================
+ Hits          108      176       +68     
+ Misses         56       23       -33     
Impacted Files Coverage Δ
src/K8sClusterManagers.jl 66.66% <ø> (ø)
src/native_driver.jl 78.94% <79.06%> (+67.28%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more