• This repository has been archived on 06/Mar/2024
  • Stars
    star
    299
  • Rank 139,269 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

KubeCarrier - Service Management at Scale

KubeCarrier


KubeCarrier is an open source system for managing applications and services across multiple Kubernetes Clusters; providing a framework to centralize the management of services and provide these services with external users in a self service hub.



Project Status

KubeCarrier is currently in early development and is not ready for production use, the APIs are not yet final and breaking changes might be introduced in every release.

Features

  • Cross Cluster Management of CRD instances
  • Service Hub
  • Multi Tenancy
  • Account Management
  • Integration with any existing operator

Documentation

KubeCarrier is documented on docs.kubermatic.io alongside our other open source projects.

Troubleshooting

If you encounter issues file an issue or talk to us on the #kubecarrier channel on the Kubermatic Slack.

Contributing

Thanks for taking the time to join our community and start contributing! Feedback and discussion are available on the mailing list.

Before you start

  • Please familiarize yourself with the Code of Conduct before contributing.
  • See CONTRIBUTING.md for instructions on the developer certificate of origin that we require.

Pull requests

  • We welcome pull requests. Feel free to dig through the issues and jump in.

FAQ

What`s the difference to OLM / Crossplane?

The Operator Lifecycle Manager from RedHat and Crossplane are both projects that manage installation, upgrade and deletion of Operators and their CustomResourceDefinitions in a Kubernetes cluster.

KubeCarrier on the other hand is just working with existing CustomResourceDefinitions and already installed Operators. As both OLM and Crossplane are driven by CRDs, they can be combined with KubeCarrier to manage their configuration across clusters.

What`s the difference to KubeFed - Kubernetes Federation?

The Kubernetes Federation Project was created to distribute Workload across Kubernetes Clusters for e.g. geo-replication and disaster recovery. It's intentionally low-level to work for generic workload to be spread across clusters.

While KubeCarrier is also operating on multiple clusters, KubeCarrier operates on a higher abstraction level. KubeCarrier assigns applications onto single pre-determined Kubernetes clusters. Kubernetes Operators that enable these applications, may still use KubeFed underneath to spread the workload across clusters.

Changelog

See the list of releases to find out about feature changes.

Roadmap

v0.4 - Enhance Core Features

Region API Aggregation Provide a single API to access and work with the object across multiple regions

Project Bulward Integration Advanced multi-tenancy on Kubernetes. Enable the management of custom sub-roles for KubeCarrier Account.

v0.5 - Integrations

Client Operator Kubernetes Operator to enable the provisioning of new services, provided with KubeCarrier from within your own client Kubernetes cluster.

Secret Management Credential propagation mechanism to utilize Kubernetes Secrets.

Service Groups Combine multiple related APIs e.g.(EtcdClusters, EtcdBackups, EtcdRestores) into a group for easier discovery.

v0.x - Ease of Use

Audit Logging Multi-Tenancy audit logging within KubeCarrier.

UI TBD

More Repositories

1

kubeone

Kubermatic KubeOne automate cluster operations on all your cloud, on-prem, edge, and IoT environments.
Go
1,371
star
2

kubermatic

Kubermatic Kubernetes Platform - the Central Kubernetes Management Platform For Any Infrastructure
Go
1,030
star
3

fubectl

Reduces repetitive interactions with kubectl
Go
791
star
4

machine-controller

Go
288
star
5

k8sniff

k8sniff - tcp ingress controller with SNI support
Go
80
star
6

kubelb

Kubernetes based load balancing
Go
52
star
7

dashboard

Dashboard For The Kubermatic Kubernetes Platform
Go
41
star
8

operating-system-manager

Operating System Manager is responsible for creating and managing the configuration that are needed to configure worker nodes
Go
26
star
9

glog-gokit

This packages is a replacement for glog in projects that use the go-kit logger.
Go
18
star
10

docs

Documentation for Kubermatic projects
SCSS
16
star
11

gchl

Github changelog generator
Go
13
star
12

community-components

Collection of components for Kubermatic KKP and KubeOne
Shell
10
star
13

mla

MLA (Monitoring, logging, alerting) solution for KKP.
Mustache
8
star
14

reconciler

Simple codegen-based Go library to reconcile Kubernetes resources
Go
6
star
15

terraform-provider-kubermatic

Terraform Kubermatic provider
Go
6
star
16

kubermatic-installer

Installation instructions for setting up a kubermatic seed cluster
Shell
5
star
17

bulward

Multi User/Project management for Kubernetes
Go
5
star
18

kubelet

Containerized Kubelet Images
Shell
4
star
19

go-kubermatic

Go language bindings for Kubermatic API
Go
3
star
20

github-bot

Go
3
star
21

tail

Deprecated log viewer for Prow, consider using https://github.com/kubernetes/test-infra/tree/master/prow/spyglass instead
Go
3
star
22

benchmate

Network latency, throughput estimation tool
Go
2
star
23

zevenet-lb-controller

Go
2
star
24

nodeport-exposer

Go
2
star
25

glog-logrus

Go
2
star
26

telemetry-client

Telemetry-Client is an observability tool that can be used to track Kubermatic Kubernetes Platform and Kubernetes cluster usage.
Go
2
star
27

flowmatic

KubeFlow integration on KKP.
Shell
1
star
28

aur-kubeone

Shell
1
star
29

gk-installer

Installer for gluster/gluster-kubernetes
1
star
30

support

Kubernetes Support Tools
Shell
1
star
31

utils

Go
1
star
32

kubeflow-controller

KubeFlow controller
Go
1
star
33

kkp-single-node

Get started with KKP - “KKP on a single node with Kubeone on AWS”
HCL
1
star