-
Notifications
You must be signed in to change notification settings - Fork 356
Kubevirt blog #5559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Kubevirt blog #5559
Conversation
Adding Harshit from the Azure Linux engineering team as an author, as much of the KubeVirt doc is based off a doc he wrote.
Updated authors list to include 'harshit-gupta'.
Added an introduction to KubeVirt and its benefits for VM management in Kubernetes.
Updated tags to include 'kubevirt' for better categorization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a new blog post about deploying KubeVirt on AKS, scheduled for publication on January 26, 2026. The post provides a step-by-step guide for users to set up KubeVirt, an open-source CNCF project that enables running virtual machines within Kubernetes clusters.
Changes:
- Added a new blog post explaining KubeVirt benefits and providing deployment instructions for AKS
- Added new author "harshit-gupta" to authors.yml
- Added new "kubevirt" tag to tags.yml
- Fixed incomplete description for the "kueue" tag
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
| website/blog/2026-01-26-kubevirt-on-aks/index.md | New blog post with KubeVirt deployment guide including cluster creation, installation steps, and VMI creation examples |
| website/blog/authors.yml | Added new author entry for Harshit Gupta |
| website/blog/tags.yml | Added kubevirt tag and fixed truncated kueue tag description |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| 1. Next, we want to install the KubeVirt custom resource. Save the yaml below as `kubevirt-cr.yaml`. | ||
|
|
||
| ```yaml | ||
| apiVersion: kubevirt.io/v1 | ||
| kind: KubeVirt | ||
| metadata: | ||
| name: kubevirt | ||
| namespace: kubevirt | ||
| spec: | ||
| certificateRotateStrategy: {} | ||
| configuration: | ||
| developerConfiguration: | ||
| featureGates: [] | ||
| customizeComponents: {} | ||
| imagePullPolicy: IfNotPresent | ||
| workloadUpdateStrategy: {} | ||
| infra: | ||
| nodePlacement: {} | ||
| ``` | ||
| Notice the empty `nodePlacement: {}` line. By default, KubeVirt sets the node-affinity of control plane components to control plane nodes. On AKS, control plane nodes are fully managed by Azure and not accessible to KubeVirt. This update to `nodePlacement` avoids issues that this may cause. | ||
|
|
||
| Once the yaml is saved, apply it to your cluster. |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per Microsoft Style Guide, use "YAML" (all caps) when referring to the file format or language, not "yaml" in prose. Change "Save the yaml below" to "Save the YAML below" and "Once the yaml is saved" to "Once the YAML is saved".
|
|
||
| With KubeVirt successfully installed on your cluster, you can now go ahead and create your VMIs. | ||
|
|
||
| 1. Create your VMI. Save the following yaml, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per Microsoft Style Guide, use "YAML" (all caps) when referring to the file format in prose. Change "Save the following yaml" to "Save the following YAML".
| 1. Create your VMI. Save the following yaml, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. | |
| 1. Create your VMI. Save the following YAML, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. |
| 1. Start with creating your AKS cluster. | ||
|
|
||
| ```azurecli-interactive | ||
| az aks create --resource-group <resource-group> --name <cluster-name> --node-vm-size Standard_D4s_v5 |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing closing triple backticks for the code block. The azurecli-interactive code block starting on line 38 is not properly closed before the next step begins.
| az aks create --resource-group <resource-group> --name <cluster-name> --node-vm-size Standard_D4s_v5 | |
| az aks create --resource-group <resource-group> --name <cluster-name> --node-vm-size Standard_D4s_v5 |
|
|
||
| With KubeVirt successfully installed on your cluster, you can now go ahead and create your VMIs. | ||
|
|
||
| 1. Create your VMI. Save the following yaml, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent list item indentation. The content in line 102 has only one space of indentation after the numbered list item marker, but according to standard Markdown formatting, it should have two spaces to align with the text from line 103.
| 1. Create your VMI. Save the following yaml, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. | |
| 1. Create your VMI. Save the following yaml, which will create a VMI based on Fedora OS, as `vmi-fedora.yaml`. |
| https://github.com/kubevirt/kubevirt/releases/download/v1.6.3/kubevirt-operator.yaml | ||
| ``` | ||
|
|
||
| 1. Next, we want to install the KubeVirt custom resource. Save the yaml below as `kubevirt-cr.yaml`. |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the Microsoft Style Guide and blog guidelines, use "we" sparingly and prefer direct imperatives. Change "we want to" to a more direct instruction. For example: "Next, install the KubeVirt custom resource" instead of "Next, we want to install the KubeVirt custom resource."
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Added missing code block for VMI deployment instructions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
Corrected capitalization of 'YAML' in multiple instances.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| az aks create --resource-group <resource-group> --name <cluster-name> --node-vm-size Standard_D4s_v5 | ||
| ``` | ||
| 2. After your cluster is up and running, get the access credentials for the cluster. | ||
| 2. After your cluster is up and running, make sure you grab the access credentials for the cluster. |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent spacing in the numbered list. Step 2 is numbered as "2." on both lines 41 and 42 (where line 42 is a duplicate). Proper numbered list formatting should have each step numbered sequentially.
| 2. After your cluster is up and running, make sure you grab the access credentials for the cluster. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
|
|
||
| ### Creating VirtualMachineInstance (VMI) resources in KubeVirt | ||
|
|
||
| With KubeVirt successfully installed on your cluster, you can now go ahead and create your VMIs. |
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The phrase "go ahead and" is conversational filler that should be removed for more concise writing. Change to "With KubeVirt successfully installed on your cluster, you can now create your VMIs."
| kubectl apply -f vmi-fedora.yaml | ||
| ``` | ||
|
|
||
| If successful, you should see a one-liner akin to `virtualmachineinstance.kubevirt.io/vmi-fedora created`. |
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The phrase "one-liner" is informal. According to the Microsoft Style Guide, use more professional language in technical documentation. Change to "If successful, you should see output similar to: virtualmachineinstance.kubevirt.io/vmi-fedora created".
|
|
||
| In this post, you will learn how KubeVirt lets you run, deploy, and manage VMs on Kubernetes, alongside your containerized applications, using Kubernetes as the orchestrator. | ||
| <!-- truncate --> | ||
|
|
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the blog post guidelines, a hero image should be included after the truncate marker. Consider adding an image to visually represent KubeVirt architecture or the deployment workflow.
|
|
||
| ## Deploying KubeVirt | ||
|
|
||
| Users today are able to deploy KubeVirt on AKS. |
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sentence "Users today are able to deploy KubeVirt on AKS" is passive and weak. Following the Microsoft Style Guide, rewrite it using active voice and a more direct tone. For example: "You can deploy KubeVirt on AKS" or "Deploy KubeVirt on AKS to...".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
|
|
||
| ## Please share your feedback! | ||
|
|
||
| If you are already using KubeVirt on AKS, plan to after reading this blog, or this blog piqued your interest, we'd love to hear from you! Your feedback/interest will be invaluable as we in AKS look to the future of how we can best support these type of workloads on our platform. Please share your thoughts in our [GitHub Issue](https://github.com/Azure/AKS/issues/5445). |
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link text "GitHub Issue" should be more descriptive. According to the Microsoft Style Guide and blog post guidelines, avoid generic link text.
Consider revising to: "Please share your thoughts in the KubeVirt on AKS feedback issue."
| ## Please share your feedback! | ||
|
|
||
| If you are already using KubeVirt on AKS, plan to after reading this blog, or this blog piqued your interest, we'd love to hear from you! Your feedback/interest will be invaluable as we in AKS look to the future of how we can best support these type of workloads on our platform. Please share your thoughts in our [GitHub Issue](https://github.com/Azure/AKS/issues/5445). |
Copilot
AI
Jan 17, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the Microsoft Style Guide, avoid using "please" in instructions. The phrase "Please share your feedback!" should be "Share your feedback!" to maintain a more direct, professional tone while still being friendly.
| ## Please share your feedback! | |
| If you are already using KubeVirt on AKS, plan to after reading this blog, or this blog piqued your interest, we'd love to hear from you! Your feedback/interest will be invaluable as we in AKS look to the future of how we can best support these type of workloads on our platform. Please share your thoughts in our [GitHub Issue](https://github.com/Azure/AKS/issues/5445). | |
| ## Share your feedback! | |
| If you are already using KubeVirt on AKS, plan to after reading this blog, or this blog piqued your interest, we'd love to hear from you! Your feedback/interest will be invaluable as we in AKS look to the future of how we can best support these type of workloads on our platform. Share your thoughts in our [GitHub Issue](https://github.com/Azure/AKS/issues/5445). |
|
|
||
| ## Why KubeVirt matters | ||
|
|
||
| KubeVirt can help organizations that are in various stages of their Kubernetes journey manage their infrastructure more effectively. Being able to manage your Kubernetes and traditional VM estate through one method can help avoid the sprawl that would otherwise come with managing multiple platforms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: It could be helpful to have more specific terminology in place of "one method", such as "unified API" or "the same Kubernetes constructs"
|
|
||
| ## Deploying KubeVirt | ||
|
|
||
| Users today are able to deploy KubeVirt on AKS. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: This intro sentence can be more specific - on any AKS version? On an existing AKS cluster or new cluster, compatible with any node ossku?
|
|
||
| ### Confirm the KubeVirt pods are up and running on the cluster | ||
|
|
||
| Once all the components are installed, you can quickly check if all the KubeVirt components are up and running properly in your cluster. You can do so via `kubectl get pods -n kubevirt -o wide`. You should see something like this: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Move the kubectl command to a new line for easier readability as the audience is following along
|
|
||
| ## Why KubeVirt matters | ||
|
|
||
| KubeVirt can help organizations that are in various stages of their Kubernetes journey manage their infrastructure more effectively. Being able to manage your Kubernetes and traditional VM estate through one method can help avoid the sprawl that would otherwise come with managing multiple platforms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest adding something like "KubeVirt allows customers to manage legacy VM workloads alongside containerized applications using the same Kubernetes APIs."
| https://github.com/kubevirt/kubevirt/releases/download/v1.6.3/kubevirt-operator.yaml | ||
| ``` | ||
|
|
||
| 1. Next, we want to install the KubeVirt custom resource. Save the YAML below as `kubevirt-cr.yaml`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO we should reference upstream url otherwise this will quickly go out of date.
Adding a blog about deploying KubeVirt on AKS, to be published on 1-26-2026.