Git Product home page Git Product logo

k0smotron's Introduction

k0smotron

Overview

k0smotron is a powerful open-source tool for efficient management of k0s Kubernetes clusters. It enables you to run Kubernetes control planes within a management cluster and with the integration of Cluster API it streamlines various cluster operations, providing support for tasks such as provisioning, scaling, and upgrading clusters.

Features

Embedded Child Cluster Control Planes

k0smotron streamlines k0s control plane creation and management within your management cluster, reducing traditional operational overhead (e.g installation, configuration, upgrades or backups). k0smotron encapsulates the control plane service as a pods (and other Kubernetes constructs) and provides an intuitive approach to cluster lifecycle management through ClusterAPI integration.

Cluster API Support

Leverage k0smotron's compatibility with Cluster API. Benefit from Kubernetes cluster management across various infrastructures supported by the Cluster API ecosystem. k0smotron can operate as control plane, bootstrap and infrastructure provider for Cluster API.

Cluster Provisioning

Easily provision Kubernetes clusters with k0smotron. Whether you are setting up clusters for development, testing, or production, k0smotron provides a straightforward process for cluster creation.

Scaling Operations

Scale your clusters effortlessly to meet changing workload demands. k0smotron facilitates seamless scaling of both worker nodes and control planes.

Cluster Upgrades

Stay up-to-date with Kubernetes releases by smoothly upgrading your clusters. k0smotron simplifies the process, ensuring minimal downtime during upgrades.

Remote Machine Provider

Introducing k0smotron Anywhere, a Cluster API infrastructure provider that enables cluster provisioning on remote machines using SSH connections. Perfect for diverse infrastructure setups and for those environments where there's no existing Cluster API provider available.

Use cases

Development and CI/CD

In the process of continuous integration and end-to-end testing, a temporary Kubernetes Cluster is needed. With k0smotron, these clusters can be created on demand in a declarative way and thus integrated into the existing CI process with ease. This avoids cluster sprawl and long-living snowflake clusters.

Edge Container Management

Kubernetes at the edge typically comes with the requirement of a low resource footprint. As a result, clusters with distributed roles are more challenging and a lot of single-node clusters are created. Managing the large number of clusters confronts us with almost impossible tasks.

Offloading the control plane means that the persistence layer of the cluster can run on dedicated hardware and workloads can be managed at the edge on devices dedicated to their purposes. With k0smotron worker nodes get ephemeral.

Multi-cloud Cluster LCM

A multi-cloud strategy is essential these days. But managed Kubernetes offerings are often different in versioning or even the built-in tooling.

With k0smotron, you can run the control plane management cluster in a public or private cloud provider of your choice and the worker nodes in various clouds. With this you get a homogenized and unified cluster management, providing one flavor on all clouds and saving the costs for the highly available Control Plane in the cloud.

Getting Started

Getting started with k0smotron is easy. Simply install the controller into an existing cluster:

kubectl apply -f https://docs.k0smotron.io/stable/install.yaml

You can also install k0smotron ClusterAPI providers via clusterctl:

clusterctl init --bootstrap k0smotron --control-plane k0smotron --infrastructure k0smotron --config config.yaml

Refer to installation instructions for details how to create the needed config.yaml configuration.

Like with any other Cluster API provider and Kubernetes controllers, the cluster operations are declarative. For example creating a new child cluster control plane within the management cluster can be done via creating a new resource in the Kubernetes API:

kubectl apply -f - <<EOF
apiVersion: k0smotron.io/v1beta1
kind: Cluster
metadata:
name: my-k0smotron
spec: {}
EOF

See docs for further examples how to create different kinds of clusters on using various cloud environments.

Documentation

Explore the comprehensive documentation for in-depth insights into k0smotron's capabilities, configurations, and usage scenarios.

Contributing

Contributions to k0smotron are welcome! Read the Contribution Guidelines to learn how you can participate in enhancing this tool.

License

k0smotron is licensed under the Apache License 2.0.

k0smotron's People

Contributors

makhov avatar juanluisvaladas avatar dependabot[bot] avatar jnummelin avatar jlnhnng avatar ogusarenko avatar kke avatar mikhail-sakhnov avatar twz123 avatar nekwar avatar ching-kuo avatar korykessel-mirantis avatar stevejr avatar iamunnip avatar wsoualhi avatar

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.