Sunday, February 16, 2025

VMWare vs Openshift Virtualization CLI Tools

     I have been using VMware in my home lab  for quite a while now, mainly to run Red Hat VMs and experiment with different OpenShift versions, both in connected and disconnected environments. I’ve also gained hands-on experience with VMware in several customer engagements. So, before diving into OpenShift Virtualization I was already pretty comfortable with VMware.

    In this blog I want to share a simple VMware-admin-friendly introduction to OpenShift Virtualization. If you are used to VMware and feel a little unsure about switching gears you are not alone and this series of posts is for you.
My goal is to clear up some of the uncertainty and show that the jump isn't as big as it might seem.

   The main focus here is to highlight how similar many of the core virtualization concepts and CLI tools are between the two platforms. In fact, the similarities are more than the differences making it easier than you might think for an experienced VMware admin to get comfortable with OpenShift Virtualization.

   To start, I will walk through some familiar VMware concepts and commands and explain how those same actions are handled in OpenShift Virtualization. You might be surprised to find that while the tools may look different ( think oc commands or YAML files instead of GUIs or govc/vim-cmd ) the fundamental ideas stay very much the same. 

CLI Tools

Both VMware 6.x/7.x and OpenShift 4.1.x Virtualization provide a command-line interface (CLI) to manage VMs.

VMware provides a number of command-line tools for managing and interacting with its infrastructure. 
The primary CLI tools for managing a VMware environment are :

  1. vim-cmd : Used directly on ESXi hosts for managing virtual machines. 
  2. esxcli : Another tool used on ESXi hosts, but for a broader range of system management tasks.
  3. govc : A command-line tool to interact with vSphere environments, which includes vCenter and ESXi hosts.

The command-line interface (CLI) tools you'll use for OpenShift Virtualization to manage VMs are :

  1. virtctl : A CLI tool specifically designed for managing VMs in OpenShift Virtualization.
  2. oc : The general OpenShift CLI that can also manage VMs as Kubernetes resources.