All Projects → bluek8s → Kubedirector

bluek8s / Kubedirector

Licence: apache-2.0
Kubernetes Director (aka KubeDirector) for deploying and managing stateful applications on Kubernetes

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Kubedirector

Dockerfile
Dockerfile best-practices for writing production-worthy Docker images.
Stars: ✭ 3,506 (+882.07%)
Mutual labels:  containers
Cni
Container Network Interface - networking for Linux containers
Stars: ✭ 3,907 (+994.4%)
Mutual labels:  containers
Furan
Scale out Docker builds
Stars: ✭ 339 (-5.04%)
Mutual labels:  containers
My Links
Knowledge seeks no man
Stars: ✭ 311 (-12.89%)
Mutual labels:  containers
Bitnami Docker Redis
Bitnami Redis Docker Image
Stars: ✭ 317 (-11.2%)
Mutual labels:  containers
Linuxdeploy
Install and run GNU/Linux on Android
Stars: ✭ 3,775 (+957.42%)
Mutual labels:  containers
Kubernetes Kitap
Stars: ✭ 299 (-16.25%)
Mutual labels:  containers
Devops Guide
DevOps Guide - Development to Production all configurations with basic notes to debug efficiently.
Stars: ✭ 4,119 (+1053.78%)
Mutual labels:  containers
Kubectl Dig
Deep kubernetes visibility from the kubectl
Stars: ✭ 325 (-8.96%)
Mutual labels:  containers
Go Lxc
Go bindings for liblxc
Stars: ✭ 336 (-5.88%)
Mutual labels:  containers
Adapt
ReactJS for your infrastructure. Create and deploy full-stack apps to any infrastructure using the power of React.
Stars: ✭ 317 (-11.2%)
Mutual labels:  containers
Img
Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.
Stars: ✭ 3,512 (+883.75%)
Mutual labels:  containers
Wasm3
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Stars: ✭ 4,375 (+1125.49%)
Mutual labels:  containers
Shifter
Shifter - Linux Containers for HPC
Stars: ✭ 308 (-13.73%)
Mutual labels:  containers
Lxdock
Build and orchestrate your development environments with LXD - a.k.a. Vagrant is Too Heavy™
Stars: ✭ 350 (-1.96%)
Mutual labels:  containers
Pharos Cluster
Pharos - The Kubernetes Distribution
Stars: ✭ 302 (-15.41%)
Mutual labels:  containers
Lxc
LXC - Linux Containers
Stars: ✭ 3,583 (+903.64%)
Mutual labels:  containers
Anchore
This project is deprecated. Work is now done on https://github.com/anchore/syft and https://github.com/anchore/grype for local-host Software Bill of Materials and vulnerability scanning tools.
Stars: ✭ 353 (-1.12%)
Mutual labels:  containers
Umoci
umoci modifies Open Container images
Stars: ✭ 349 (-2.24%)
Mutual labels:  containers
Semimap
A semi compile-/run-time associative map container with compile-time lookup and run-time storage
Stars: ✭ 335 (-6.16%)
Mutual labels:  containers

KubeDirector

Build Status

The BlueK8s open source initiative will include a number of projects to help bring enterprise-level capabilities for distributed stateful applications to Kubernetes.

The first open source project in this initiative is Kubernetes Director or KubeDirector for short.

What is KubeDirector?

KubeDirector uses standard Kubernetes (K8s) facilities of custom resources and API extensions to implement stateful scaleout application clusters. This approach enables transparent integration with K8s user/resource management and existing K8s clients and tools.

In broad terms, KubeDirector is a "custom controller" (itself deployed into K8s) that watches for custom resources of a given type to be created or modified within some K8s namespace(s). On such an event, KubeDirector uses K8s APIs to create or update the resources and configuration of a cluster to bring it into accordance with the spec defined in that custom resource.

Unlike some other custom controller implementations, KubeDirector does not tie a custom resource definition to a particular type of application, or contain hardcoded application-specific logic within the controller. Instead, application characteristics are defined by metadata and an associated package of configuration artifacts. This separation of responsibilities has several useful characteristics, including:

  • Application experts -- within or outside the organization running KubeDirector -- can enable application deployment without writing "Go" code or understanding the operation of custom controllers. This includes easily making incremental changes to adopt new versions of an application or tweak the setup choices exposed to the end user.

  • Site administrators can easily manage which application types and versions are available within an organization, without undergoing a custom controller code upgrade that could potentially disrupt operations.

  • End users can launch and reconfigure clusters using familiar K8s tools, selecting from application-specific choices provided to them by the experts.

The wiki describes KubeDirector concepts, architecture, and data formats.

See the files in the "doc" directory for information about deploying and using KubeDirector:

  • quickstart.md: deploying a pre-built KubeDirector image
  • gke-notes.md: important information if you intend to deploy KubeDirector using Google Kubernetes Engine
  • eks-notes.md: important information if you intend to deploy KubeDirector using Amazon Elastic Container Service for Kubernetes
  • virtual-clusters.md: creating and managing virtual clusters with KubeDirector
  • app-authoring.md: creating app definitions for KubeDirector virtual clusters
  • kubedirector-development.md: building KubeDirector from source

Contributing

You’re welcome to join the BlueK8s Slack workspace for feedback and discussion.

Please read through the CONTRIBUTING guide before making a pull request. If you run into an issue with the contributing guide, please send a pull request to fix the contributing guide.

Code of conduct

Participation in the KubeDirector community is governed by the KubeDirector Code of Conduct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].