Provisioning Virtual Machines on KubeVirt

KubeVirt addresses the needs of development teams that have adopted or want to adopt Kubernetes but possess existing virtual machine (VM)-based workloads that cannot be easily containerized. This technology provides a unified development platform where developers can build, modify, and deploy applications residing in application containers and VMs in a shared environment. These capabilities support rapid application modernization across the open hybrid cloud.

With orcharhino, you can create a compute resource for KubeVirt so that you can provision and manage Kubernetes virtual machines using orcharhino.

Prerequisites
  • The installation media for the operating systems that you want to use to provision hosts. You can use synchronized content repositories for Amazon Linux. For more information, see Syncing Repositories in the Content Management Guide.

  • Provide an activation key for host registration. For more information, see Creating An Activation Key in the Content Management guide.

  • A KubeVirt user that has the cluster-admin permissions for the Openshift Container Platform virtual cluster.

  • A orcharhino Proxy managing a network on the KubeVirt server. Ensure that no other DHCP services run on this network to avoid conflicts with orcharhino Proxy. For more information about network service configuration for orcharhino Proxys, see Configuring Networking in the Provisioning guide.

  • A orcharhino user account with the following roles:

  • A custom role in orcharhino with the following permissions:

    • view_compute_resources

    • destroy_compute_resources_vms

    • power_compute_resources_vms

    • create_compute_resources_vms

    • view_compute_resources_vms

    • view_locations

    • view_subnets

      For more information about creating roles, see Creating a Role in the Administering orcharhino guide. For more information about adding permissions to a role, see Adding Permissions to a Role in the Administering orcharhino guide.

Adding a KubeVirt Connection to orcharhino Server

Use this procedure to add KubeVirt as a compute resource in orcharhino.

Procedure
  1. Enter the following foreman-installer command to enable the KubeVirt plugin for orcharhino:

    # foreman-installer --enable-foreman-plugin-kubevirt
  2. Generate a bearer token to use for HTTP and HTTPs authentication. On the KubeVirt server, list the secrets that contain tokens:

    # kubectl get secrets
  3. List the token for your secret:

    # kubectl get secrets YOUR_SECRET -o jsonpath='{.data.token}' | base64 -d | xargs

    Make a note of this token to use later in this procedure.

  4. In the orcharhino management UI, navigate to Infrastructure > Compute Resources, and click Create Compute Resource.

  5. In the Name field, enter a name for the new compute resource.

  6. From the Provider list, select KubeVirt.

  7. In the Description field, enter a description for the compute resource.

  8. In the Hostname field, enter the address of the KubeVirt server that you want to use.

  9. In the API Port field, enter the port number that you want to use for provisioning requests from orcharhino to KubeVirt.

  10. In the Namespace field, enter the user name of the KubeVirt virtual cluster that you want to use.

  11. In the Token field, enter the bearer token for HTTP and HTTPs authentication.

  12. Optional: In the X509 Certification Authorities field, enter a certificate to enable client certificate authentication for API server calls.

The text and illustrations on this page are licensed by ATIX AG under a Creative Commons Attribution–Share Alike 3.0 Unported ("CC-BY-SA") license. This page also contains text from the official Foreman documentation which uses the same license ("CC-BY-SA").