Declarative way of managing machines for Kubernetes cluster
:warning: We are in the progress of migrating and deprecating all the in-tree providers to OOT. Please avoid making any new feature enhancements to the intree providers. Kindly make it on the OOT providers available here. More details on adding new OOT providers can be found here.
Machine Controller Manager (MCM) manages VMs as another kubernetes custom resource. It provides a declarative way to manage VMs.
MCM supports following providers. These provider code is maintained externally (out-of-tree), and the links for the same are linked below: * Alicloud * AWS * Azure * Equinix Metal * GCP * KubeVirt * Metal Stack * Openstack * V Sphere * Yandex
It can easily be extended to support other cloud providers as well.
Example of managing machine:
kubectl create/get/delete machine vm1
Nodes/Machines/VMs are different terminologies used to represent similar things. We use these terms in the following way
See the design documentation in the
/docs/designrepository, please find the design doc here.
See the documentation in the
/docsrepository, please find the index here.
An FAQ is available here
cluster-apibranch of machine-controller-manager implements the machine-api aspect of the cluster-api project.
masterbranch of MCM as well cluster-api compliant, with well-defined migration notes.