Available in: Open/CE, Core, BE, SE, SE+, Ultimate/EE
Included in extensions: On-prem IaaS
The module lifecycle stage: Generally available version
The module has requirements for installation
The cloud-provider-dvp module integrates Deckhouse Platform with the Deckhouse Virtualization Platform. It allows the node-manager module to use DVP resources when provisioning nodes for a NodeGroup.
Features of the cloud-provider-dvp module:
- Managing DVP resources via
cloud-controller-manager: updates virtual machine and Kubernetes node metadata and removes from Kubernetes nodes that no longer exist in DVP. - Provisioning disks via the DVP CSI driver (
csi.dvp.deckhouse.io) so that PersistentVolumes can be requested from the cluster. - Provisioning base infrastructure and CloudPermanent nodes using the Terraform/OpenTofu provider
terraform-provider-kubernetes. - Provisioning CloudEphemeral nodes via Cluster API (CAPI). Virtual machine parameters are set in the DVPInstanceClass resource.
- Creating load balancers for Service objects of the
LoadBalancertype. The balancer is created in the parent cluster. If thenetworkPolicyparameter is set toIsolated, the module also creates a network policy for the balancer so that its traffic reaches the nodes. - Registering with
node-managerso that DVPInstanceClass can be used when describing a NodeGroup. - Enabling CNI for new clusters automatically. By default,
cni-ciliumis used.
If the cluster was installed with the DVPClusterConfiguration schema, migrate to configuration via ModuleConfig.
Until the migration is complete, the D8CloudProviderDVPMigrationPending alert may fire and Deckhouse updates may be blocked.
While the DVPClusterConfiguration governs the cluster, its values are used for every parameter shared with the ModuleConfig (namespace, network policy, layout, SSH key, region, zones, IP addresses); the ModuleConfig values for these parameters are ignored until the migration bundle is applied. Parameters that exist only in the ModuleConfig (nodes.disabled, additionalVMLabels, ingressPorts, storage, ccm) are still taken from it.
A ModuleConfig cloud-provider-dvp must not be disabled while a DVPClusterConfiguration is in use (enabled: false is rejected). Requiring the ModuleConfig cloud-provider-dvp to exist is enforced at cluster bootstrap only: existing clusters keep converging without it, but a ModuleConfig (it may have no settings, with only enabled: true set) must be added before migrating.
A cluster configured via ModuleConfig alone (without a DVPClusterConfiguration) must set both the provider and nodes sections.
The migration procedure is described in “How to migrate a cloud provider to ModuleConfig”.