K8

k8s-kubevirt

Tools for lifecycle management, migration, and monitoring of VMs on a K8s cluster.

Install

mkdir -p .claude/skills/k8s-kubevirt && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7303" && unzip -o skill.zip -d .claude/skills/k8s-kubevirt && rm skill.zip

Installs to .claude/skills/k8s-kubevirt

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Virtual machine management with KubeVirt on Kubernetes. Use when creating, managing, or troubleshooting VMs running on Kubernetes clusters.
139 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Detect KubeVirt installation
  • List and start virtual machines
  • Perform live migration of VMs
  • Pause and restart virtual machine instances
  • Manage data volumes and instance types

How it works

The skill utilizes KubeVirt-specific tools to manage the lifecycle of virtual machines running on Kubernetes, including migration and volume management.

Inputs & outputs

You give it
Virtual machine name and namespace
You get back
VM status, migration state, or lifecycle action result

When to use k8s-kubevirt

  • Starting VMs on K8s
  • Live migrating virtual machines
  • Troubleshooting VM status

About this skill

KubeVirt VM Management

Manage virtual machines on Kubernetes using kubectl-mcp-server's KubeVirt tools (13 tools).

When to Apply

Use this skill when:

  • User mentions: "KubeVirt", "virtual machine", "VM", "VirtualMachineInstance", "VMI"
  • Operations: starting/stopping VMs, live migration, managing VM lifecycle
  • Keywords: "VM on Kubernetes", "virtualization", "data volume", "instance type"

Priority Rules

PriorityRuleImpactTools
1Detect KubeVirt installation firstCRITICALkubevirt_detect_tool
2Check VM status before operationsHIGHkubevirt_vm_get_tool
3List VMIs for running VMsHIGHkubevirt_vmis_list_tool
4Use instance types for consistencyMEDIUMkubevirt_instancetypes_list_tool

Quick Reference

TaskToolExample
Detect KubeVirtkubevirt_detect_toolkubevirt_detect_tool()
List VMskubevirt_vms_list_toolkubevirt_vms_list_tool(namespace)
Start VMkubevirt_vm_start_toolkubevirt_vm_start_tool(name, namespace)
Live migrate VMkubevirt_vm_migrate_toolkubevirt_vm_migrate_tool(name, namespace)

Check Installation

kubevirt_detect_tool()

List VMs

# List VirtualMachines
kubevirt_vms_list_tool(namespace="default")

# List VirtualMachineInstances (running VMs)
kubevirt_vmis_list_tool(namespace="default")

Get VM Details

# Get VM definition
kubevirt_vm_get_tool(name="my-vm", namespace="default")

# Shows:
# - Spec (CPU, memory, disks)
# - Running status
# - Conditions

VM Lifecycle

Start VM

kubevirt_vm_start_tool(name="my-vm", namespace="default")

Stop VM

kubevirt_vm_stop_tool(name="my-vm", namespace="default")

Restart VM

kubevirt_vm_restart_tool(name="my-vm", namespace="default")

Pause/Unpause VM

# Pause (freeze CPU)
kubevirt_vm_pause_tool(name="my-vm", namespace="default")

# Unpause
kubevirt_vm_unpause_tool(name="my-vm", namespace="default")

Live Migration

# Migrate VM to another node
kubevirt_vm_migrate_tool(name="my-vm", namespace="default")

# Check migration status
kubevirt_vmis_list_tool(namespace="default")
# Look for: migrationState

Instance Types

# List available instance types
kubevirt_instancetypes_list_tool()

# Instance types define:
# - CPU count
# - Memory size
# - GPU allocation

Data Volumes

# List data volumes (persistent VM disks)
kubevirt_datavolumes_list_tool(namespace="default")

# List data sources (golden images)
kubevirt_datasources_list_tool(namespace="default")

Create VM

kubectl_apply(manifest="""
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: my-vm
  namespace: default
spec:
  running: true
  template:
    metadata:
      labels:
        kubevirt.io/vm: my-vm
    spec:
      domain:
        cpu:
          cores: 2
        memory:
          guest: 4Gi
        devices:
          disks:
          - name: rootdisk
            disk:
              bus: virtio
          - name: cloudinitdisk
            disk:
              bus: virtio
      volumes:
      - name: rootdisk
        containerDisk:
          image: quay.io/kubevirt/fedora-cloud-container-disk-demo
      - name: cloudinitdisk
        cloudInitNoCloud:
          userData: |
            #cloud-config
            password: fedora
            chpasswd: { expire: False }
""")

Create VM with DataVolume

kubectl_apply(manifest="""
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: vm-with-pvc
  namespace: default
spec:
  running: true
  dataVolumeTemplates:
  - metadata:
      name: vm-with-pvc-disk
    spec:
      source:
        http:
          url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
      storage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
  template:
    spec:
      domain:
        cpu:
          cores: 2
        memory:
          guest: 4Gi
        devices:
          disks:
          - name: rootdisk
            disk:
              bus: virtio
      volumes:
      - name: rootdisk
        dataVolume:
          name: vm-with-pvc-disk
""")

Troubleshooting

VM Not Starting

1. kubevirt_vm_get_tool(name, namespace)  # Check status/conditions
2. kubevirt_vmis_list_tool(namespace)  # Check VMI exists
3. get_events(namespace)  # Check events
4. get_pods(namespace, label_selector="kubevirt.io/vm=<name>")  # Check virt-launcher

Migration Failed

1. kubevirt_vmis_list_tool(namespace)  # Check migrationState
2. get_events(namespace)  # Check events
3. # Common issues:
   # - No suitable target node
   # - Insufficient resources
   # - Shared storage required

Related Skills

When not to use it

  • Managing standard Kubernetes pods
  • Non-virtualized container workloads

Prerequisites

KubeVirt

Limitations

  • Requires KubeVirt installed in the cluster

How it compares

It provides a dedicated interface for VM-specific operations like live migration that are not native to standard Kubernetes pod management.

Compared to similar skills

k8s-kubevirt side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
k8s-kubevirt (this skill)16moNo flagsAdvanced
storage-networking67moReviewAdvanced
kubernetes-architect64moNo flagsAdvanced
gitops-workflow52moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

More by rohitg00

View all by rohitg00

You might also like

storage-networking

pluginagentmarketplace

Master Kubernetes storage management and networking architecture. Learn persistent storage, network policies, service discovery, and ingress routing.

663

kubernetes-architect

sickn33

Expert Kubernetes architect specializing in cloud-native infrastructure, advanced GitOps workflows (ArgoCD/Flux), and enterprise container orchestration. Masters EKS/AKS/GKE, service mesh (Istio/Linkerd), progressive delivery, multi-tenancy, and platform engineering. Handles security, observability, cost optimization, and developer experience. Use PROACTIVELY for K8s architecture, GitOps implementation, or cloud-native platform design.

636

gitops-workflow

sickn33

Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes deployments with continuous reconciliation. Use when implementing GitOps practices, automating Kubernetes deployments, or setting up declarative infrastructure management.

521

devops-iac-engineer

davila7

Implements infrastructure as code using Terraform, Kubernetes, and cloud platforms. Designs scalable architectures, CI/CD pipelines, and observability solutions. Provides security-first DevOps practices and site reliability engineering guidance.

223

k8s-manifest-generator

wshobson

Create production-ready Kubernetes manifests for Deployments, Services, ConfigMaps, and Secrets following best practices and security standards. Use when generating Kubernetes YAML manifests, creating K8s resources, or implementing production-grade Kubernetes configurations.

319

dstack

dstackai

dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.

14

Search skills

Search the agent skills registry