Git Product home page Git Product logo

cap-reuse's Introduction

Hi there ๐Ÿ‘‹

cap-reuse's People

Contributors

lukasheinrich avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lukasheinrich

cap-reuse's Issues

no official k8s API client for Python

Now raw requests are being sent to the k8s apiserver but ideally it would be better to choose a library that covers all the needed use cases. In case there is no such library, get the most mature/best documented/most active and make a PR adding the needed functionality.

Candidates table

Library Contributors Version Jobs Stream calls In-cluster calls Tests Repo
pykube 21 0.13.0 x x x x link
kube 3 0.9.1 - x x - link
python-k8sclient 11 0.3.0 - - x x link
python-kubernetes 1 0.2 - - x - link

Kubernetes Jobs restart containers which execution has failed

This could lead to a potentially infinite number of restarts of a container, for instance, their execution may be stopped because a dependency can not be met anymore (broken link).

A workflow is composed by a set of steps which are mapped to k8s Jobs. In terms of workflows, the expected behaviour is that if a step fails a log is retrieved and the user gets a message saying that there was a problem, specifically in a certain step.

add redis node

Include Redis nodes inside actual cluster in order to use it from step-broker and k8s-job-patch

Unexpected delay schedulling k8s Jobs

If the number of Jobs created exceeds the defined ResourceQuota the waiting jobs are scheduled after a while even though there is available quota, it may be seconds, it may be minutes, but it affects the whole cluster. When Kubernetes "refresh its internal state" all the waiting jobs get executed.

Reconsidering using Kubernetes

Because of #3, #4 and the lack of a status notifying system for Jobs in Kubernetes(which conduced to #6) the decision of using Kubernetes has to be reconsidered.

Alternatives:

Apache Mesos with Chronos framework (by Airbnb).

Apache Mesos with Apache Spark

  • The docker image as we understand it (unit of work received from some private registry and immutable) is not compatible since it should contain Apache Spark installed. ("... The Docker image used must have an appropriate version of Spark already part of the image ...." source)

Docker swarm

Custom docker execution service

  • Full control over every aspect.
  • Full job controller should be implemented.
  • Precedent by AdRoll using Luigi (kind of Makefile with Python syntax by Spotify) and a homemade job queue for running and monitoring docker instances. source

Reasons to stay with Kubernetes

  • Its being used already for the execution of pipelines and ETL workflows composed by dockerized steps here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.