machine-controller-manager

module
v0.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2020 License: Apache-2.0, BSD-3-Clause

README

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. 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. 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.

Cluster-api Implementation

Directories

Path Synopsis
cmd
pkg
apis/machine
Package machine is the internal version of the API.
Package machine is the internal version of the API.
apis/machine/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/machine/validation
Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects
Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects Package validation is used to validate all the machine CRD objects
client/clientset/internalversion
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/internalversion/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/internalversion/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/internalversion/typed/machine/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/machine/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/machine/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/machine/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
controller
Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager
Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager
driver
Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines
Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines Package driver contains the cloud provider specific implementations to manage machines
features
Package features is reserved for future purposes
Package features is reserved for future purposes
openapi
Package openapi exists to hold generated openapi code
Package openapi exists to hold generated openapi code
options
Package options is used to specify options to MCM Package options is used to specify options to MCM
Package options is used to specify options to MCM Package options is used to specify options to MCM
util/client/metrics/prometheus
Package prometheus creates and registers prometheus metrics with rest clients.
Package prometheus creates and registers prometheus metrics with rest clients.
util/clientbuilder/machine
Package controller is used to provide the core functionalities of machine-controller-manager
Package controller is used to provide the core functionalities of machine-controller-manager
util/provider/drain
Package drain is used to drain nodes Package drain is used to drain nodes
Package drain is used to drain nodes Package drain is used to drain nodes
util/provider/driver
Package driver contains the cloud provider specific implementations to manage machines Package driver contains a fake driver implementation
Package driver contains the cloud provider specific implementations to manage machines Package driver contains a fake driver implementation
util/provider/machinecodes/codes
Package codes defines the canonical error codes used by machineAPIs for gardener/machine-controller-manager Package codes defines the canonical error codes used by machineAPIs for gardener/machine-controller-manager
Package codes defines the canonical error codes used by machineAPIs for gardener/machine-controller-manager Package codes defines the canonical error codes used by machineAPIs for gardener/machine-controller-manager
util/provider/machinecodes/status
Package status implements errors returned by MachineAPIs.
Package status implements errors returned by MachineAPIs.
util/provider/machinecontroller
Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager
Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager Package controller is used to provide the core functionalities of machine-controller-manager
util/provider/machineutils
Package machineutils contains the consts and global vaariables for machine operation
Package machineutils contains the consts and global vaariables for machine operation
util/provider/options
Package options is used to specify options to MCM Package options is used to specify options to MCM
Package options is used to specify options to MCM Package options is used to specify options to MCM
util/reflector/prometheus
Package prometheus sets the cache DefaultMetricsFactory to produce prometheus metrics.
Package prometheus sets the cache DefaultMetricsFactory to produce prometheus metrics.
util/taints
Package taints implements utilites for working with taints
Package taints implements utilites for working with taints

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL