Coriolis integrates the platform Plugin on the Appliance itself, this way there is no need for agents to be deployed on platforms to establish the communication between the platform and the Coriolis components.
Coriolis guarantees the connection to the supported platform set up to be used as a Destination, as long as the requirements are met.
KubeVirt/Harvester destination cloud
For detailed information regarding KubeVirt/Harvester capabilities and performed steps while using it as a destination cloud, please check the following page:
KubeVirt/Harvester as a destination cloud
KubeVirt Endpoint Connection Parameters
To connect to Kubevirt to perform migration to it, the following connection parameters are required:
KubeVirt endpoint setup
A valid kubeconfig YAML needs to be passed to the Coriolis endpoint. On a traditional KubeVirt setup, the kubeconfig can be found at ~/.kube/config location of your environment.
If using Harvester, a kubeconfig can be generated for the logged-in user by accessing the Support page of the Harvester UI, and then clicking on Download KubeConfig, as shown below.
KubeVirt platform specifics
Supported Actions: | Migration Destination – Replica Destination | Comments |
---|---|---|
Plugin identifier | kubevirt | Identifies the plugin Used for the –provider CLI parameter |
Credentials needed | kubeconfig that mentions either user TLS certificates or generated token | Necessary credentials to give to Coriolis |
Deployment requirements | Coriolis worker component(s) need network access to the Kubernetes and KubeVirt APIs | Coriolis deployment and environment connectivity requirements |
DRaaS source requirements | Kubevirt is not currently supported as a DRaaS source | Requirements to use the replica export (DRaaS source) features |
Instance identification scheme | Names must be unique | How instances to migrate/replicate are identified on a cloud handled by the plugin |
Network identification scheme | Names of VM Networks | How the plugin identifies networks. Required for the network_map field of the –destination-environment |
KubeVirt migration user required permissions
This table will describe the minimum role requirements of a migration user to bind to to migrate instances to a destination KubeVirt platform:
Role Type | Resource | Access Level | API Group |
---|---|---|---|
Cluster | virtualmachineimages | Read | harvesterhci.io |
volumesnapshotclasses | Read | snapshot.storage.k8s.io | |
storageclasses | Read | storage.k8s.io | |
namespaces | Read | ||
network-attachment-definitions | Read | k8s.cni.cncf.io | |
customresourcedefinitions | Read | apiextensions.k8s.io | |
Namespace | persistentvolumeclaims | Read/Write | |
pods | Read/Write | ||
virtualmachineinstances | Read/Write | kubevirt.io | |
volumesnapshots | Read/Write | apiextensions.k8s.io | |
volumesnapshots/status | Read | apiextensions.k8s.io | |
virtualmachines | Read/Write | kubevirt.io | |
virtualmachines/start | Read/Write | subresources.kubevirt.io |