Installing Forklift from the CLI
You can install Forklift from the command line interface (CLI).
-
VMware vSphere 6.5 or later.
-
OKD 4.7 installed.
-
KubeVirt Operator installed.
-
You must be logged in as a user with
cluster-admin
permissions. -
If you are performing more than 10 concurrent migrations from a single ESXi host, you must increase the NFC service memory of the host.
-
VMware virtual machines:
-
VMware Tools installed.
-
ISO/CDROM disks unmounted.
-
NIC with no more than one IPv4 and/or one IPv6 address.
-
VM name containing only lowercase letters (
a-z
), numbers (0-9
), or hyphens (-
), up to a maximum of 253 characters. The first and last characters must be alphanumeric. The name must not contain uppercase letters, spaces, periods (.
), or special characters. -
VM name that does not duplicate the name of a virtual machine in the KubeVirt environment.
-
Operating system certified and supported for use as a guest operating system with KubeVirt and for conversion to KVM with
virt-v2v
.
-
-
Network:
-
IP addresses, VLANs, and other network configuration settings must not be changed before or after migration. The MAC addresses of the virtual machines are preserved during migration.
-
Uninterrupted and reliable network connections between the clusters and the replication repository.
-
Network ports enabled in the firewall rules.
-
Port | Protocol | Source | Destination | Purpose |
---|---|---|---|---|
443 |
TCP |
OpenShift nodes |
VMware vCenter |
VMware provider inventory Disk transfer authentication |
443 |
TCP |
OpenShift nodes |
VMware ESXi hosts |
Disk transfer authentication |
902 |
TCP |
OpenShift nodes |
VMware ESXi hosts |
Disk transfer data copy |
-
Create the konveyor-forklift project:
$ cat << EOF | oc apply -f - apiVersion: project.openshift.io/v1 kind: Project metadata: name: konveyor-forklift EOF
-
Create an
OperatorGroup
CR calledmigration
:$ cat << EOF | oc apply -f - apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: migration namespace: konveyor-forklift spec: targetNamespaces: - konveyor-forklift EOF
-
Create a
Subscription
CR for the Operator:$ cat << EOF | oc apply -f - apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: forklift-operator namespace: konveyor-forklift spec: channel: development installPlanApproval: Automatic name: forklift-operator source: community-operators sourceNamespace: openshift-marketplace startingCSV: "konveyor-forklift-operator.v2.0.0" EOF
-
Create a
ForkliftController
CR:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: ForkliftController metadata: name: forklift-controller namespace: konveyor-forklift spec: olm_managed: true EOF
-
Verify that the Forklift pods are running:
$ oc get pods -n konveyor-forklift
Example outputNAME READY STATUS RESTARTS AGE forklift-controller-788bdb4c69-mw268 2/2 Running 0 2m forklift-operator-6bf45b8d8-qps9v 1/1 Running 0 5m forklift-ui-7cdf96d8f6-xnw5n 1/1 Running 0 2m