kubeflex

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2023 License: Apache-2.0

README

Logo KubeFlex

A flexible and scalable solution for running Kubernetes control plane APIs.

Goals

  • Provide lightweight Kube API Server instances and selected controllers as a service.
  • Provide a flexible architecture for the storage backend, e.g.:
    • shared DB for API servers,
    • dedicated DB for each API server,
    • etcd DB or Kine + Postgres DB
  • Flexibility in choice of API Server build:
  • Single binary CLI for improved user experience:
    • initialize, install operator, manage lifecycle of control planes and contexts.

Installation

You need kind installed. Note that a hosting kind cluster is created automatically by the kubeflex CLI.

Download the latest kubeflex CLI binary release for your OS/Architecture from the release page and copy it to /usr/local/bin or another location in your $PATH.

If you have Homebrew, use the following commands to install kubeflex:

brew tap kubestellar/kubeflex https://github.com/kubestellar/kubeflex
brew install kubeflex

Quickstart

Create the hosting kind cluster with ingress controller and install the kubeflex operator:

kflex init --create-kind

Create a control plane:

kflex create cp1

Interact with the new control plane, for example get namespaces and create a new one:

kubectl get ns
kubectl create ns myns

Create a second control plane and check that the namespace created in the first control plane is not present:

kflex create cp2
kubectl get ns

To go back to the hosting cluster context, use the ctx command:

kflex ctx

To switch back to a control plane context, use the create <control plane name> command, e.g:

kflex ctx cp1

To delete a control plane, use the delete <control plane name> command, e.g:

kflex delete cp1

Architecture

image info

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the tenancy v1alpha1 API group +kubebuilder:object:generate=true +groupName=tenancy.kflex.kubestellar.org
Package v1alpha1 contains API Schema definitions for the tenancy v1alpha1 API group +kubebuilder:object:generate=true +groupName=tenancy.kflex.kubestellar.org
cmd
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL