https://github.com/tidbcloud/machine-controller-manager
Fork of gardener/machine-controller-manager
https://github.com/tidbcloud/machine-controller-manager
Last synced: about 1 year ago
JSON representation
Fork of gardener/machine-controller-manager
- Host: GitHub
- URL: https://github.com/tidbcloud/machine-controller-manager
- Owner: tidbcloud
- License: other
- Created: 2020-07-13T08:31:24.000Z (almost 6 years ago)
- Default Branch: v0.29.0-pingcap
- Last Pushed: 2023-02-17T10:09:20.000Z (over 3 years ago)
- Last Synced: 2025-03-28T02:39:02.337Z (about 1 year ago)
- Language: Go
- Size: 75.5 MB
- Stars: 5
- Watchers: 10
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# machine-controller-manager
[](https://concourse.ci.gardener.cloud/teams/gardener/pipelines/machine-controller-manager-master/jobs/master-head-update-job)
[](https://goreportcard.com/report/github.com/gardener/machine-controller-manager)
Machine Controller Manager (MCM) manages VMs as another kubernetes custom resource. It provides a declarative way to manage VMs. The current implementation supports AWS, GCP, Azure, Alicloud, Packet and Openstack. 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.
1. 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.
1. 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](docs/design/README.md).
## To start using or developing the Machine Controller Manager
See the documentation in the `/docs` repository, please [find the index here](docs/README.md).
## Cluster-api Implementation
- `cluster-api` branch of machine-controller-manager implements the machine-api aspect of the [cluster-api project](https://github.com/kubernetes-sigs/cluster-api).
- Link: https://github.com/gardener/machine-controller-manager/tree/cluster-api
- Once cluster-api project gets stable, we may make `master` branch of MCM as well cluster-api compliant, with well-defined migration notes.