GithubHelp home page GithubHelp logo

daxiguafan / cluster-api-provider-bringyourownhost Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vmware-tanzu/cluster-api-provider-bringyourownhost

0.0 0.0 0.0 3.82 MB

Kubernetes Cluster API Provider BYOH for already-provisioned hosts running Linux.

License: Apache License 2.0

Shell 5.22% Go 92.18% Makefile 2.07% Dockerfile 0.53%

cluster-api-provider-bringyourownhost's Introduction

Kubernetes Cluster API Provider Bring Your Own Host (BYOH)


What is Cluster API Provider BYOH

Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management.

BYOH is a Cluster API Infrastructure Provider for already-provisioned hosts running Linux. This provider allows operators to adopt Cluster API for deploying and managing kubernetes nodes without also having to adopt a specific infrastructure service. This enables users to decouple kubernetes node provisioning from host and infrastructure provisioning.

BYOH Glossary

Host - A host is a running computer system. It could be physical or virtual. It has a kernel and some base operating system

BYO Host - A Linux host provisioned and managed outside of Cluster API

BYOH Capacity Pool - A set of BYO Hosts registered in a management cluster & authorized for usage as a capacity for deploying Kubernetes nodes

Kubernetes Node - A Kubernetes Node that runs on top of a Host. There is a 1-to-1 relationship between nodes and hosts (every host has zero or one nodes). Node provisioning and lifecycle management is a Cluster API responsibility

Kubernetes Host Components - The components that run uncontainerized on the host and are required to bootstrap a Kubernetes node. Typically, this is at least kubelet, containerd and kubeadm, but different OS might require different components in this category

Features

  • Native Kubernetes manifests and API
  • Support for single and multi-node control plane clusters
  • Support already provisioned Linux VMs with Ubuntu 20.04

Getting Started

Check out the getting_started guide for launching a BYOH workload cluster

Community, discussion, contribution, and support

The BringYourOwnHost provider is developed in the open, and is constantly being improved by our users, contributors, and maintainers. If you have questions or want to get the latest project news, you can connect with us in the following ways:

  • Chat with us on the Kubernetes Slack in the #cluster-api channel
  • Subscribe to the SIG Cluster Lifecycle Google Group for access to documents and calendars
  • Join our Cluster API Provider for BringYourOwnHost working group sessions where we share the latest project news, demos, answer questions, and triage issues

Pull Requests and feedback on issues are very welcome! See the issue tracker if you're unsure where to start, especially the Good first issue and Help wanted tags, and also feel free to reach out to discuss.

See also our contributor guide and the Kubernetes community page for more details on how to get involved.

Project Status

This project is currently a work-in-progress, in an Alpha state, so it may not be production ready. There is no backwards-compatibility guarantee at this point. For more details on the roadmap and upcoming features, check out the project's issue tracker on GitHub.

Getting involved and contributing

Launching a Kubernetes cluster using BYOH source code

Check out the developer guide for launching a BYOH cluster consisting of Docker containers as hosts.

More about development and contributing practices can be found in CONTRIBUTING.md.

Implement Custom Installer controller

An installer controller is responsible to provide the installation and uninstallation scripts for k8s dependencies, prerequisites and components on each BYOHost.
If someone wants to implement their own installer controller then they need to follow the contract defined in installer doc.


Compatibility with Cluster API

  • BYOH is currently compatible wth Cluster API v1beta1 (v1.0)

Supported OS and Kubernetes versions

Operating System Architecture Kubernetes v1.21.* Kubernetes v1.22.* Kubernetes v1.23.*
Ubuntu 20.04.* amd64

NOTE: The '*' in OS means that all Ubuntu 20.04 patches are supported.

NOTE: The '*' in the K8s version means that the K8s minor release is supported but it may happen that a BYOH bundle for a specific patch may not exist in the OCI registry.

BYOH in News

cluster-api-provider-bringyourownhost's People

Contributors

4everming avatar akasurde avatar ankitasw avatar anusha94 avatar dependabot[bot] avatar dharmjit avatar fabriziopandini avatar georgievavmw avatar gwang550 avatar himanshu007-creator avatar huchen2021 avatar jamiemonserrate avatar jaybatra26 avatar jeuxdemains avatar khannakshat7 avatar lwmqwer avatar madhur97 avatar mayur-tolexo avatar nilanjandaw avatar oscr avatar pshail avatar ratanasovvmw avatar raunaksingwi avatar sachinkumarsingh092 avatar shamsher31 avatar shivi28 avatar shubham14bajpai avatar vibhorchinda avatar vmwghbot avatar yixingjia 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.