Coder Social home page Coder Social logo

rossf7 / carbon-aware-karmada-operator Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 110 KB

A Kubernetes operator to automate carbon-aware spatial shifting of workloads using Karmada

License: Apache License 2.0

Dockerfile 4.08% Makefile 23.18% Go 72.74%

carbon-aware-karmada-operator's People

Contributors

dependabot[bot] avatar rossf7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

carbon-aware-karmada-operator's Issues

Document requirements for managed kubernetes providers to be able to join a member cluster for customers to ask for

Hi Ross,thanks for making this!

Would it be possible to list what APIs a provider of kubernetes needs to implement or expose for it to be possible to controllable by an existing control plane cluster?

I'll try outlining the use case I'm thinking of.

Running a control plane cluster youself, and connecting to managed k8s providers from multiple suppliers

You're operating a control plane cluster with Supplier A, and rather than spinning up a cluster that you manage yourself with provider B or provider C, you just want to purchase a managed service from them, the same way you might purchase managed object storage.

Different suppliers have different specialisations, or emissions profiles, and you don't want to interface at a low level, provisioning VMs yourself, but use the higher level APIs afforded by the provider.

This seems to be inline with the goal of Karmada, based on their docs:

Karmada supports:

  • Safe isolation:
    • Create a namespace for each cluster, prefixed with karmada-es-.
  • Multi-mode connection:
    • Push: Karmada is directly connected to the cluster kube-apiserver.
    • Pull: Deploy one agent component in the cluster, Karmada delegates tasks to the agent component.
  • Multi-cloud support(Only if compliant with Kubernetes specifications):
    • Support various public cloud vendors.
    • Support for private cloud.
    • Support self-built clusters.

Source: Key Features | karmada by

And I'm aware that Karmada has two ways to connect to an existing provider:

  1. Push: Karmada is directly connected to the cluster kube-apiserver.
  2. Pull: Deploy one agent component in the cluster, Karmada delegates tasks to the agent component.

However, I'm not clear what a checking service might look like, so you could validate that an existing k8s provider might be compatible, such that you could use them to run a control plane cluster OR a member cluster, just by sending some API calls to a given endpoint.

If it helps, this notebook explains the idea, but for object storage:

https://nextjournal.com/greenweb/demo-fetching-files-from-aws-compatible-object-storage?change-id=DM16eoHhgQyxDMnCqhXuah

For some further context, I'm interested in this, because it would be really cool to be able to add this kind of information to our directories of providers at the Green Web Foundation, so you could easily find API compatible providers of all kind of building blocks you might use when creating digitial services. The link below might be helpful context too, in this case:

https://www.thegreenwebfoundation.org/directory/services-offered/

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.