/machine-controller-manager-provider-vsphere

Gardener machine controller manager provider for VMware vSphere

Primary LanguageGoOtherNOASSERTION

machine-controller-manager-provider-vsphere

This project contains the external/out-of-tree plugin (driver) implementation of machine-controller-manager for VMware vSphere.

Prerequisites

  • vSphere installation, user with permissions to create/delete VMs in the specified data center. Details see below Recommended permissions for role of vSphere user
  • A vSphere network with an DHCP server. For Gardener, the network is created by the vsphere infrastructure controller, which needs VMware NSX-T to setup the software-defined network, SNAT and DHCP.
  • Suitable VM templates must already be deployed on vSphere. The provider uses the guestId to identify the correct way to initiate a cloud-init. Supported OS are

Supported vSphere versions

This provider has been tested with vSphere 6.7 (Update 3) and vSphere 7.0 (Update 3d)

Recommended permissions for role of vSphere user

The vSphere user used for this provider should have been assigned to a role including these permissions (use vSphere Client / Menu Administration / Access Control / Role to define a role and assign it to the user with Global Permissions)

  • Datastore
    • Allocate space
    • Browse datastore
    • Low level file operations
    • Remove file
    • Update virtual machine files
    • Update virtual machine metadata
  • Global
    • Cancel task
    • Manage custom attributes
    • Set custom attribute
  • Network
    • Assign network
  • Resource
    • Assign virtual machine to resource pool
  • Tasks
    • Create task
    • Update task
  • vApp
    • Add virtual machine
    • Assign resource pool
    • Assign vApp
    • Clone
    • Power off
    • Power on
    • View OVF environment
    • vApp application configuration
    • vApp instance configuration
    • vApp managedBy configuration
    • vApp resource configuration
  • Virtual machine
    • Change Configuration
      • Acquire disk lease
      • Add existing disk
      • Add new disk
      • Add or remove device
      • Advanced configuration
      • Change CPU count
      • Change Memory
      • Change Settings
      • Change Swapfile placement
      • Change resource
      • Configure Host USB device
      • Configure Raw device
      • Configure managedBy
      • Display connection settings
      • Extend virtual disk
      • Modify device settings
      • Query Fault Tolerance compatibility
      • Query unowned files
      • Reload from path
      • Remove disk
      • Rename
      • Reset guest information
      • Set annotation
      • Toggle disk change tracking
      • Toggle fork parent
      • Upgrade virtual machine compatibility
    • Edit Inventory
      • Create from existing
      • Create new
      • Move
      • Register
      • Remove
      • Unregister
    • Guest operations
      • Guest operation alias modification
      • Guest operation alias query
      • Guest operation modifications
      • Guest operation program execution
      • Guest operation queries
    • Interaction
      • Power off
      • Power on
      • Reset
    • Provisioning
      • Allow disk access
      • Allow file access
      • Allow read-only disk access
      • Allow virtual machine files upload
      • Clone template
      • Clone virtual machine
      • Customize guest
      • Deploy template
      • Mark as virtual machine
      • Modify customization specification
      • Promote disks
      • Read customization specifications