/kubean

:seedling: Kubernetes lifecycle management operator based on kubespray.

Primary LanguageGoApache License 2.0Apache-2.0

🌱 KuBean

trackgit-views

kubean is a cluster lifecycle management tool based on kubespray.

main workflow codecov CII Best Practices kubean coverage kubean coverage license Go Report Card


⚓ Awesome features

  • Simplicity: Deploying of Kubean and powerful lifecycle management of kubernetes cluster implementing by declarative API.
  • Offline Supported: Offline packages(os-pkgs, images, binarys) are released with the release. You won't have to worry about how to gather all the resources you need.
  • Compatibility: Multi-arch delivery Supporting. Such as AMD, ARM with common Linux distributions. Also include Kunpeng with Kylin.
  • Expandability: Allowing custom actions be added to cluster without any changes for Kubespray.

🏄‍♂️ Quick Start

1. Ensure that a Kubernetes Cluster exists and Helm installed

2. Deploy Kubean-Operator

$ helm repo add kubean-io https://kubean-io.github.io/kubean-helm-chart/
$ helm install kubean kubean-io/kubean --create-namespace -n kubean-system

Then check kubean-operator status by

$ kubectl get pods -n kubean-system | grep 'kubean'

3. Start ClusterOperation for cluster.yml playbook

We cloud use the example in folder artifacts/demo which uses online resources to install k8s cluster.

  1. cd resources path
    $ cd artifacts/
  2. modify demo/hosts-conf-cm.yml by replacing IP1, IP2... with the real ip where we want to install k8s cluster
  3. start kubeanClusterOps which will start the kubespray job
    $ kubectl apply -f demo/
  4. check the kubespray job status
    $ kubectl get job -n kubean-system

quick_start_image

📖 Documents