Skip to content
 
 

Repository files navigation

machine-controller-manager

CI Build status Go Report Card

Machine Controller Manager (MCM) manages VMs as another kubernetes custom resource. It provides a declarative way to manage VMs.

MCM supports following providers:

  • AWS
  • GCP
  • Azure
  • Openstack
  • Alicloud
  • Metal-stack
  • Packet
  • KubeVirt
  • VMWare
  • Yandex

It can easily be extended to support other cloud providers as well.

Example of managing machine:

kubectl create/get/delete machine vm1

Key terminologies

Nodes/Machines/VMs are different terminologies used to represent similar things. We use these terms in the following way

  1. VM: A virtual machine running on any cloud provider. It could also refer to a physical machine (PM) in case of a bare metal setup.
  2. Node: Native kubernetes node objects. The objects you get to see when you do a "kubectl get nodes". Although nodes can be either physical/virtual machines, for the purposes of our discussions it refers to a VM.
  3. Machine: A VM that is provisioned/managed by the Machine Controller Manager.

Design of Machine Controller Manager

See the design documentation in the /docs/design repository, please find the design doc here.

To start using or developing the Machine Controller Manager

See the documentation in the /docs repository, please find the index here.

FAQ

An FAQ is available here

Cluster-api Implementation

About

Declarative way of managing machines for Kubernetes cluster

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages