diff --git a/404.html b/404.html index ca950b7df6..976f81c93d 100644 --- a/404.html +++ b/404.html @@ -52,7 +52,7 @@ - + diff --git a/application-aware-quota/index.html b/application-aware-quota/index.html index 5e3358c90d..b309df6faf 100644 --- a/application-aware-quota/index.html +++ b/application-aware-quota/index.html @@ -52,7 +52,7 @@ - + diff --git a/applications-aware-quota/index.html b/applications-aware-quota/index.html index 3be1ff6d98..24fd509dd6 100644 --- a/applications-aware-quota/index.html +++ b/applications-aware-quota/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/community.html b/blogs/community.html index bed6803081..691f1f9e29 100644 --- a/blogs/community.html +++ b/blogs/community.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/date.html b/blogs/date.html index d1d5d40be0..1313fc4e57 100644 --- a/blogs/date.html +++ b/blogs/date.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/index.html b/blogs/index.html index 618ea03cd3..7ebfd315f6 100644 --- a/blogs/index.html +++ b/blogs/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/news.html b/blogs/news.html index b14ce7906a..40d46d001c 100644 --- a/blogs/news.html +++ b/blogs/news.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page10/index.html b/blogs/page10/index.html index af42119708..cedadd866b 100644 --- a/blogs/page10/index.html +++ b/blogs/page10/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page11/index.html b/blogs/page11/index.html index 5e6371dc63..971e7bfaae 100644 --- a/blogs/page11/index.html +++ b/blogs/page11/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page12/index.html b/blogs/page12/index.html index f7399a4102..77f044500b 100644 --- a/blogs/page12/index.html +++ b/blogs/page12/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page13/index.html b/blogs/page13/index.html index 0d749bec8b..09cda7e5ed 100644 --- a/blogs/page13/index.html +++ b/blogs/page13/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page14/index.html b/blogs/page14/index.html index a32a12d3ab..4c59024221 100644 --- a/blogs/page14/index.html +++ b/blogs/page14/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page15/index.html b/blogs/page15/index.html index a28bf51fe8..e83ed7d868 100644 --- a/blogs/page15/index.html +++ b/blogs/page15/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page16/index.html b/blogs/page16/index.html index 49e5cfecc2..e29716b447 100644 --- a/blogs/page16/index.html +++ b/blogs/page16/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page17/index.html b/blogs/page17/index.html index 32ea130bf1..cf09acd37c 100644 --- a/blogs/page17/index.html +++ b/blogs/page17/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page18/index.html b/blogs/page18/index.html index 1d8c39cfd3..0477cd9e62 100644 --- a/blogs/page18/index.html +++ b/blogs/page18/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page19/index.html b/blogs/page19/index.html index e78fa47a8f..d172d4a933 100644 --- a/blogs/page19/index.html +++ b/blogs/page19/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page2/index.html b/blogs/page2/index.html index dc88717def..4185980cb1 100644 --- a/blogs/page2/index.html +++ b/blogs/page2/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page20/index.html b/blogs/page20/index.html index b821af2c0b..85e2a6c239 100644 --- a/blogs/page20/index.html +++ b/blogs/page20/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page21/index.html b/blogs/page21/index.html index c315e74740..8f0e6a1dcd 100644 --- a/blogs/page21/index.html +++ b/blogs/page21/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page22/index.html b/blogs/page22/index.html index d0cfd1f428..eff902cad4 100644 --- a/blogs/page22/index.html +++ b/blogs/page22/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page23/index.html b/blogs/page23/index.html index 9ecc6f7b3c..d4a53f8901 100644 --- a/blogs/page23/index.html +++ b/blogs/page23/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page24/index.html b/blogs/page24/index.html index 5f2ce78da7..aae3cc31a7 100644 --- a/blogs/page24/index.html +++ b/blogs/page24/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page25/index.html b/blogs/page25/index.html index 808406a93e..b429eed764 100644 --- a/blogs/page25/index.html +++ b/blogs/page25/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page26/index.html b/blogs/page26/index.html index d359286641..94520aa08f 100644 --- a/blogs/page26/index.html +++ b/blogs/page26/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page27/index.html b/blogs/page27/index.html index 6fa70572a9..dac45e3a3f 100644 --- a/blogs/page27/index.html +++ b/blogs/page27/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page28/index.html b/blogs/page28/index.html index 25014961dd..7996af4d69 100644 --- a/blogs/page28/index.html +++ b/blogs/page28/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page29/index.html b/blogs/page29/index.html index 2b3cc78a03..b32c50cc1f 100644 --- a/blogs/page29/index.html +++ b/blogs/page29/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page3/index.html b/blogs/page3/index.html index 609662978c..b7c0b6b697 100644 --- a/blogs/page3/index.html +++ b/blogs/page3/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page30/index.html b/blogs/page30/index.html index e85a718e0f..4f1acc6b10 100644 --- a/blogs/page30/index.html +++ b/blogs/page30/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page31/index.html b/blogs/page31/index.html index d7cd2d067e..bd305c6df9 100644 --- a/blogs/page31/index.html +++ b/blogs/page31/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page32/index.html b/blogs/page32/index.html index d54f758191..bcd8599fdf 100644 --- a/blogs/page32/index.html +++ b/blogs/page32/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page33/index.html b/blogs/page33/index.html index b12485923d..997c0b434d 100644 --- a/blogs/page33/index.html +++ b/blogs/page33/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page34/index.html b/blogs/page34/index.html index b5ef1812ce..37c2aed67f 100644 --- a/blogs/page34/index.html +++ b/blogs/page34/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page35/index.html b/blogs/page35/index.html index c2c21c21b9..5ec5d08f27 100644 --- a/blogs/page35/index.html +++ b/blogs/page35/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page36/index.html b/blogs/page36/index.html index 92f0274833..e2dfc42d14 100644 --- a/blogs/page36/index.html +++ b/blogs/page36/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page37/index.html b/blogs/page37/index.html index 91e270fce0..ba41d6edcc 100644 --- a/blogs/page37/index.html +++ b/blogs/page37/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page4/index.html b/blogs/page4/index.html index b49daa0672..2bdd11f409 100644 --- a/blogs/page4/index.html +++ b/blogs/page4/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page5/index.html b/blogs/page5/index.html index 7de6160174..fdaf9b83b1 100644 --- a/blogs/page5/index.html +++ b/blogs/page5/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page6/index.html b/blogs/page6/index.html index 4f7cc4a529..6d2f19c63e 100644 --- a/blogs/page6/index.html +++ b/blogs/page6/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page7/index.html b/blogs/page7/index.html index 60d441693b..f845c27bb8 100644 --- a/blogs/page7/index.html +++ b/blogs/page7/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page8/index.html b/blogs/page8/index.html index a191d6f183..5720bf11ee 100644 --- a/blogs/page8/index.html +++ b/blogs/page8/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/page9/index.html b/blogs/page9/index.html index 5528c4fc4f..a80feef978 100644 --- a/blogs/page9/index.html +++ b/blogs/page9/index.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/releases.html b/blogs/releases.html index fbb3282c39..77206080c3 100644 --- a/blogs/releases.html +++ b/blogs/releases.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/uncategorized.html b/blogs/uncategorized.html index a4f6eb242e..acad3ba890 100644 --- a/blogs/uncategorized.html +++ b/blogs/uncategorized.html @@ -52,7 +52,7 @@ - + diff --git a/blogs/updates.html b/blogs/updates.html index 5f62664c4b..428d34ab23 100644 --- a/blogs/updates.html +++ b/blogs/updates.html @@ -52,7 +52,7 @@ - + diff --git a/category/community.html b/category/community.html index cf170a1552..1187831eca 100644 --- a/category/community.html +++ b/category/community.html @@ -52,7 +52,7 @@ - + diff --git a/category/news.html b/category/news.html index c9aead7e14..5fbaab93f1 100644 --- a/category/news.html +++ b/category/news.html @@ -52,7 +52,7 @@ - + diff --git a/category/releases.html b/category/releases.html index c239df9294..f53dda0216 100644 --- a/category/releases.html +++ b/category/releases.html @@ -52,7 +52,7 @@ - + diff --git a/category/uncategorized.html b/category/uncategorized.html index dfcbc70e56..5bfa1ce59b 100644 --- a/category/uncategorized.html +++ b/category/uncategorized.html @@ -52,7 +52,7 @@ - + diff --git a/category/weekly-updates.html b/category/weekly-updates.html index b88d151914..5dafb5fc6d 100644 --- a/category/weekly-updates.html +++ b/category/weekly-updates.html @@ -52,7 +52,7 @@ - + diff --git a/client-go/index.html b/client-go/index.html index e7f8a126bb..29773fb565 100644 --- a/client-go/index.html +++ b/client-go/index.html @@ -52,7 +52,7 @@ - + diff --git a/cloud-provider-kubevirt/index.html b/cloud-provider-kubevirt/index.html index 866dc59415..2743e662e8 100644 --- a/cloud-provider-kubevirt/index.html +++ b/cloud-provider-kubevirt/index.html @@ -52,7 +52,7 @@ - + diff --git a/cluster-api-provider-external/index.html b/cluster-api-provider-external/index.html index f5250d60aa..9a72ac93d2 100644 --- a/cluster-api-provider-external/index.html +++ b/cluster-api-provider-external/index.html @@ -52,7 +52,7 @@ - + diff --git a/community/index.html b/community/index.html index 4a44190e1e..c4fc852e8e 100644 --- a/community/index.html +++ b/community/index.html @@ -52,7 +52,7 @@ - + diff --git a/containerized-data-importer/index.html b/containerized-data-importer/index.html index 0a41273311..fc82a00a11 100644 --- a/containerized-data-importer/index.html +++ b/containerized-data-importer/index.html @@ -52,7 +52,7 @@ - + diff --git a/controller-lifecycle-operator-sdk/index.html b/controller-lifecycle-operator-sdk/index.html index 106def179a..be7f283172 100644 --- a/controller-lifecycle-operator-sdk/index.html +++ b/controller-lifecycle-operator-sdk/index.html @@ -52,7 +52,7 @@ - + diff --git a/cpu-nfd-plugin/index.html b/cpu-nfd-plugin/index.html index 1d5aca3cbd..742b91730b 100644 --- a/cpu-nfd-plugin/index.html +++ b/cpu-nfd-plugin/index.html @@ -52,7 +52,7 @@ - + diff --git a/docs/index.html b/docs/index.html index e4da4a73cd..07287418bf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -52,7 +52,7 @@ - + diff --git a/feed.xml b/feed.xml index 2633ef05ac..be139f2df4 100644 --- a/feed.xml +++ b/feed.xml @@ -1,4 +1,4 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed.xmlKubeVirt.ioVirtual Machine Management on KubernetesKubeVirt Summit 2024 CfP is open!2024-03-19T00:00:00+00:002024-03-19T00:00:00+00:00https://kubevirt.io//2024/KubeVirt-Summit-2024-CfPWe are very pleased to announce the details for this year’s KubeVirt Summit!!

+Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed.xmlKubeVirt.ioVirtual Machine Management on KubernetesKubeVirt Summit 2024 CfP is open!2024-03-19T00:00:00+00:002024-03-19T00:00:00+00:00https://kubevirt.io//2024/KubeVirt-Summit-2024-CfPWe are very pleased to announce the details for this year’s KubeVirt Summit!!

What is KubeVirt Summit?

diff --git a/feed/community.xml b/feed/community.xml index f91649b12a..50c22b8dd7 100644 --- a/feed/community.xml +++ b/feed/community.xml @@ -1 +1 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed/community.xmlKubeVirt.io | CommunityVirtual Machine Management on Kubernetes \ No newline at end of file +Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed/community.xmlKubeVirt.io | CommunityVirtual Machine Management on Kubernetes \ No newline at end of file diff --git a/feed/news.xml b/feed/news.xml index 6cad2eacec..95242306f4 100644 --- a/feed/news.xml +++ b/feed/news.xml @@ -1,4 +1,4 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed/news.xmlKubeVirt.io | NewsVirtual Machine Management on KubernetesKubeVirt Summit 2024 CfP is open!2024-03-19T00:00:00+00:002024-03-19T00:00:00+00:00https://kubevirt.io//2024/KubeVirt-Summit-2024-CfPWe are very pleased to announce the details for this year’s KubeVirt Summit!!

+Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed/news.xmlKubeVirt.io | NewsVirtual Machine Management on KubernetesKubeVirt Summit 2024 CfP is open!2024-03-19T00:00:00+00:002024-03-19T00:00:00+00:00https://kubevirt.io//2024/KubeVirt-Summit-2024-CfPWe are very pleased to announce the details for this year’s KubeVirt Summit!!

What is KubeVirt Summit?

diff --git a/feed/releases.xml b/feed/releases.xml index 18290db29c..99ad358de6 100644 --- a/feed/releases.xml +++ b/feed/releases.xml @@ -1,4 +1,4 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed/releases.xmlKubeVirt.io | ReleasesVirtual Machine Management on KubernetesKubeVirt v1.2.02024-03-05T00:00:00+00:002024-03-05T00:00:00+00:00https://kubevirt.io//2024/changelog-v1.2.0v1.2.0 +Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed/releases.xmlKubeVirt.io | ReleasesVirtual Machine Management on KubernetesKubeVirt v1.2.02024-03-05T00:00:00+00:002024-03-05T00:00:00+00:00https://kubevirt.io//2024/changelog-v1.2.0v1.2.0

Released on: Tue Mar 5 20:25:04 2024 +0000

diff --git a/feed/uncategorized.xml b/feed/uncategorized.xml index 8c00fe1dfa..864efcf7c6 100644 --- a/feed/uncategorized.xml +++ b/feed/uncategorized.xml @@ -1,4 +1,4 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed/uncategorized.xmlKubeVirt.io | UncategorizedVirtual Machine Management on KubernetesMonitoring KubeVirt VMs from the inside2020-12-10T00:00:00+00:002020-12-10T00:00:00+00:00https://kubevirt.io//2020/Monitoring-KubeVirt-VMs-from-the-insideMonitoring KubeVirt VMs from the inside +Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed/uncategorized.xmlKubeVirt.io | UncategorizedVirtual Machine Management on KubernetesMonitoring KubeVirt VMs from the inside2020-12-10T00:00:00+00:002020-12-10T00:00:00+00:00https://kubevirt.io//2020/Monitoring-KubeVirt-VMs-from-the-insideMonitoring KubeVirt VMs from the inside

This blog post will guide you on how to monitor KubeVirt Linux based VirtualMachines with Prometheus node-exporter. Since node_exporter will run inside the VM and expose metrics at an HTTP endpoint, you can use this same guide to expose custom applications that expose metrics in the Prometheus format.

diff --git a/feed/updates.xml b/feed/updates.xml index 0a9b4b2d94..c4e14c642f 100644 --- a/feed/updates.xml +++ b/feed/updates.xml @@ -1,4 +1,4 @@ -Jekyll2024-06-12T20:00:28+00:00https://kubevirt.io//feed/updates.xmlKubeVirt.io | UpdatesVirtual Machine Management on KubernetesThis Week In Kube Virt 232018-04-27T00:00:00+00:002018-04-27T00:00:00+00:00https://kubevirt.io//2018/This-Week-in-Kube-Virt-23This is a close-to weekly update from the KubeVirt team.

+Jekyll2024-06-17T07:27:35+00:00https://kubevirt.io//feed/updates.xmlKubeVirt.io | UpdatesVirtual Machine Management on KubernetesThis Week In Kube Virt 232018-04-27T00:00:00+00:002018-04-27T00:00:00+00:00https://kubevirt.io//2018/This-Week-in-Kube-Virt-23This is a close-to weekly update from the KubeVirt team.

In general there is now more work happening outside of the core kubevirt repository.

diff --git a/gallery/index.html b/gallery/index.html index 3cc2809290..2e38bfb0af 100644 --- a/gallery/index.html +++ b/gallery/index.html @@ -52,7 +52,7 @@ - + diff --git a/hostpath-provisioner-operator/index.html b/hostpath-provisioner-operator/index.html index 7a7ea55b78..15308a06cb 100644 --- a/hostpath-provisioner-operator/index.html +++ b/hostpath-provisioner-operator/index.html @@ -52,7 +52,7 @@ - + diff --git a/hostpath-provisioner/index.html b/hostpath-provisioner/index.html index 34cec6cf1a..b6034e7df6 100644 --- a/hostpath-provisioner/index.html +++ b/hostpath-provisioner/index.html @@ -52,7 +52,7 @@ - + diff --git a/index.html b/index.html index 4b377b610f..a678f24340 100644 --- a/index.html +++ b/index.html @@ -52,7 +52,7 @@ - + diff --git a/kubevirt/index.html b/kubevirt/index.html index d3c1c62168..7274d4a639 100644 --- a/kubevirt/index.html +++ b/kubevirt/index.html @@ -52,7 +52,7 @@ - + diff --git a/labs/index.html b/labs/index.html index c7f6f1068a..f170b38b7e 100644 --- a/labs/index.html +++ b/labs/index.html @@ -52,7 +52,7 @@ - + diff --git a/labs/kubernetes/lab1.html b/labs/kubernetes/lab1.html index 64b88056e9..42aba18b40 100644 --- a/labs/kubernetes/lab1.html +++ b/labs/kubernetes/lab1.html @@ -52,7 +52,7 @@ - + diff --git a/labs/kubernetes/lab2.html b/labs/kubernetes/lab2.html index 101e52331d..44a7df7467 100644 --- a/labs/kubernetes/lab2.html +++ b/labs/kubernetes/lab2.html @@ -52,7 +52,7 @@ - + diff --git a/labs/kubernetes/lab3.html b/labs/kubernetes/lab3.html index 33badee8af..440e7922a5 100644 --- a/labs/kubernetes/lab3.html +++ b/labs/kubernetes/lab3.html @@ -52,7 +52,7 @@ - + diff --git a/labs/kubernetes/migration.html b/labs/kubernetes/migration.html index 9a08518ebc..e8be6e2c60 100644 --- a/labs/kubernetes/migration.html +++ b/labs/kubernetes/migration.html @@ -52,7 +52,7 @@ - + diff --git a/machine-remediation/index.html b/machine-remediation/index.html index 0bec72764c..c03e83d470 100644 --- a/machine-remediation/index.html +++ b/machine-remediation/index.html @@ -52,7 +52,7 @@ - + diff --git a/managed-tenant-quota/index.html b/managed-tenant-quota/index.html index ce5c1c34dc..8e94918063 100644 --- a/managed-tenant-quota/index.html +++ b/managed-tenant-quota/index.html @@ -52,7 +52,7 @@ - + diff --git a/node-maintenance-operator/index.html b/node-maintenance-operator/index.html index 1ac169b722..69a650613b 100644 --- a/node-maintenance-operator/index.html +++ b/node-maintenance-operator/index.html @@ -52,7 +52,7 @@ - + diff --git a/privacy/index.html b/privacy/index.html index 084fd71c54..e891f719e6 100644 --- a/privacy/index.html +++ b/privacy/index.html @@ -52,7 +52,7 @@ - + diff --git a/qe-tools/index.html b/qe-tools/index.html index 2e6312f5d6..c69ca969be 100644 --- a/qe-tools/index.html +++ b/qe-tools/index.html @@ -52,7 +52,7 @@ - + diff --git a/quickstart_cloud/index.html b/quickstart_cloud/index.html index 7e379ccb45..d2a064161b 100644 --- a/quickstart_cloud/index.html +++ b/quickstart_cloud/index.html @@ -52,7 +52,7 @@ - + diff --git a/quickstart_kind/index.html b/quickstart_kind/index.html index aed68db4cf..198d631dce 100644 --- a/quickstart_kind/index.html +++ b/quickstart_kind/index.html @@ -52,7 +52,7 @@ - + diff --git a/quickstart_minikube/index.html b/quickstart_minikube/index.html index 164418a635..9ff391fa3a 100644 --- a/quickstart_minikube/index.html +++ b/quickstart_minikube/index.html @@ -52,7 +52,7 @@ - + diff --git a/search.html b/search.html index ed6e75fb0d..90b982da21 100644 --- a/search.html +++ b/search.html @@ -52,7 +52,7 @@ - + @@ -1623,14 +1623,14 @@

"author" : "", "tags" : "", "body": " - " - }, , , { + }, , { "id": 187, "url": "/category/community.html", "title": "Community", "author" : "", "tags" : "", "body": " - " - }, { + }, , { "id": 188, "url": "/blogs/community", "title": "Community", @@ -1804,7 +1804,7 @@

"title": "KubeVirt Summit 2024!", "author" : "", "tags" : "", - "body": " - The fourth online KubeVirt Summit is coming on June 24-25! What is KubeVirt Summit?: KubeVirt Summit is our annual online conference, now in its fourth year, in which the entire broader community meets to showcase technical architecture, new features, proposed changes, and in-depth tutorials. We have two tracks to cater for developer talks, and another for end users to share their deployment journey with KubeVirt and their use case(s) at scale. When is it?: The event will take place online over two half-days: Dates: June 24 and 25, 2024 Time: 1200-1700 UTC note “Note”Previously Summit had been announced with dates of June 25-26 How do I register?: Register now at the CNCF KubeVirt Summit event page:https://community. cncf. io/events/details/cncf-virtual-project-events-2024-hosted-by-cncf-presents-kubevirt-summit-2024/. Schedule: All times are in UTC. Monday, June 24: 1200-1225: Welcome, Opening Remarks, and Community Updates 1230-1255: Build a full measurement chain using the CC-FDE solution in KubeVirt. Description: Confidential computing (CC) provides hardware-based protections for data-in-use beyond traditional data-in-transit(network) and data-at-rest(storage). Full Disk Encryption (FDE) adds an additional layer of preserving integrity and confidentiality of the initial state of the workload and also protection by encrypting data-at-rest. This multi-layered approach ensures that even if one layer is breached, sensitive data remains encrypted and inaccessible. With traditional FDE, use DM-verity to safeguard image integrity, and employ encryption techniques to ensure data confidentiality. In CC FDE design, the secret key can be better protected via a passwordless attestation process by binding to CC trust evidence. The process includes enrolling encryption keyid into OVMF, retrieving key via keyid through FDE agent via remote attestation, and decrypt automatically. In the above process, the TCB measurement is the key consideration. Although the advantage of KubeVirt flavor like confidential VM (by comparison with Confidential cluster/container) is smaller TCB, it still has the challenges like vTPM complexity, readiness and various vendor’s security harden Trust foundation. So, we created a vendor unlocked CC Trusted API. With CC FDE design by using CC Trusted API, it guarantees the integrity and confidentiality of images from building to deploying. The audience can learn how confidential computing impacts the traditional FDE, how to adopt CC FDE in KubeVirt for minimal TCB deployment flavor, then they can easily scale this solution in production quickly. 1300-1325: Running Kubernetes clusters the Kubernetes-native way Description: Have you ever thought about building your own cloud? I bet you have. But is it possible to do this using only modern technologies and approaches, without leaving the cozy Kubernetes ecosystem? How KubeVirt helps create secure environments. Hard multi-tenancy with KubeVirt and Kamaji. Cluster autoscaler configuration for Cluster API. Operating KubeVirt with its CSI and CNI drivers. Securing API by removing controllers from the user clusters. 1330-1355: Using CPU & Memory hotplug for VM vertical scaling Description: I am going to present the CPU & Memory hotplug features towards the live update API, how it can be actually used for VM vertical scaling, and the future plans to use in-place pod update instead of live-migration. If time will allow, I will also try to discuss what needs to be accomplished to support auto-scaling. 1400-1425: Long-Lived User-Session VM: Enhancing Zero Downtime Rolling Deployments for Virtual Machines with Kubernetes Operators Description: NVIDIA’s cloud-gaming service, GeForce Now, leverages Kubernetes-managed data centers to render games and stream the output in real-time to a variety of client devices, including computers, smartphones, and tablets. Implementing rolling deployments for long-lived user-session virtual machines presents unique challenges. Each client’s traffic is tied to a specific virtual machine, so any disruption can result in immediate user impact. Depending on the service, a rolling deployment could take up to eight hours as it waits for in-progress sessions to conclude. In this presentation, we will delve into how NVIDIA GeForce Now enhances zero downtime rolling deployments by utilizing a Kubernetes operator. Attendees will gain insights into: The specific challenges of rolling deployments for long-lived VMs in a Kubernetes environment. The architecture, development, and deployment of the Kubernetes operator that facilitates seamless VM rollovers. Real-world case studies comparing service availability and maintenance overhead before and after implementing the Kubernetes operator. Practical recommendations for adapting and generalizing this operator-based approach for other VM-based services. Join us to learn how to achieve efficient and reliable rolling deployments, ensuring uninterrupted user experience and streamlined maintenance processes. 1430-1455: KubeVirt vDPA Workflow: From Host to Pod to Domain Description: In this presentation, we will explore the KubeVirt vDPA workflow, tracing its path from the host system to Kubernetes pods and the libvirt domain. We will start with an overview of the switchdev model, highlighting its significance in network hardware offload and the implementation in the host kernel. Following this, we will examine the integration of VF representors into Kubernetes CNI, illustrating how the CNI recognizes and manages both VF network interface and VF representor. Finally, we will explore the KubeVirt network binding plugin, demonstrating the process of passing vhost_vdpa from a Kubernetes pod to a libvirt domain. This session will provide valuable insights into enhancing network performance with KubeVirt and vDPA, offering practical guidance for real-world applications. 1500-1525: Keep your VM dancing with volume migration Description: Want a refresh of your storage? Is there a better performing class available in your cluster? Is an old one being deprecated? Don’t panic, you don’t need to turn off your VM. The new option for updateVolumeStrategy allows you to update and migrate storage while the VM is running. You just need to apply a new VM definition that replaces the existing volumes with new ones. This update will initiate the volume migration, and at the end of the process, the VM will have entirely copied the data from the old volumes to the new ones without any workload disruptions. The talk will cover what you can do with this new feature and go over the technical decisions that lead to the final design. 1530-1555: Optimizing GPU Capacity across multiple Data Centers Description: The talk will cover details about use case, design and workflow on how the Nvidia GeForce Now platform leverage a GPU Capacity to orchestrate VM workloads across a fleet of Data Centers. Use case: Nvidia GeForce Now platform intends to maximize GPU usage in a Data Center while catering to an on-demand continuous churning VM work load. Specific constraint: VM should get to running state and not get stuck at “not scheduled” due to capacity unavailability. Design details: The system leverages a GPU Capacity API to get accurate capacity information in a DC. Design details of the GPU Capacity API and Controller. Events driven mechanism to keep track of accurate GPU Capacity information during workload churn. Nvidia GeForce Now workflow: How Capacity API is leveraged to orchestrate workload across a fleet of Data Centers at full GPU capacity to achieve on-demand scheduling needs. 1600-1625: Isolating container workloads in Virtual Machines using KubeVirt Description: While Kubernetes provides container sandboxes that utilize Linux kernel features for isolation, vulnerabilities still exist, these may cause host kernel panics, exploits, memory access by other applications, and more. Join this session to learn more about how the MaroonedPods project offers to solve the workload isolation problem using KubeVirt and all native Kubernetes components without a need for a specialized environment or dedicated software. 1630-1655: DRA in KubeVirt: Overcoming Challenges and Implementing Changes Description: As the demand for GPU-accelerated workloads continues to surge across various industries, Kubernetes has emerged as a popular orchestration platform to manage these resources efficiently. However, the traditional GPU device plugin model in Kubernetes poses limitations in terms of flexibility, scalability, and resource optimization. This talk introduces the concept of Dynamic Resource Allocation (DRA) and demonstrates how transitioning GPU device plugins to DRA can address these challenges. In this session, attendees will learn about how Nvidia plans to solve the specific challenges in KubeVirt to leverage the advantages of DRA. Tuesday, June 25: 1200-1225: Optimizing live-migration for minimizing packet loss with KubeVirt and kube-ovn Description: We expose more detailed steps for virtual machine live-migration in KubeVirt. Which enable kube-ovn use the multi_chassis_bindings feature as will as triggering ACL policy changes based on RARP. In this way, we significantly reduces packet loss during live migrations. 1230-1255: KubeVirt Observability with Prometheus and Grafana Description: As KubeVirt adoption grows, so does the need for effective observability. This talk delves into the essential metrics and tools required to ensure the health and performance of your KubeVirt environments. We’ll explore practical strategies for monitoring KubeVirt workloads, identifying potential issues, and gaining valuable insights into your virtualized environment. 1300-1325: Want a VM with local storage? Fine, just try it with Hwameistor! Description: There are many benefits to use VMs with local storage, like: Superior performance with local disk IOPS/latency/throughput. Less complexity compared to network-based storage system. Extremely low cost, VMs can be created easily even in an all-in-one k8s cluster. I’m glad to introduce a good way to do this. With the help of HwameiStor, VMs can be smoothly used with local storage(LVs or raw disk). 1330-1355: Real-Time Network Traffic Monitoring for KubeVirt VMs Using OVN and Switchdev SR-IOV VFIO Interfaces Description: When the data plane is offloaded from the Linux kernel to Smart NICs that support the Linux SwitchDev driver model, the ability to perform real-time monitoring of network traffic for debugging or anomaly detection is lost. This issue is exacerbated when using legacy non-switchdev SR-IOV Virtual Functions (VFs), where packets sent through these VFs are only visible on the next hop switch. Consequently, any debugging efforts would require collaboration with network administrators managing the switches. Additionally, performing real-time monitoring of network traffic for anomaly detection on switches becomes significantly more challenging. In this presentation, we will explore how to achieve real-time monitoring of KubeVirt VMs/VMIs that are multi-homed with Switchdev SR-IOV VFIO interfaces using the open-source Open Virtual Network (OVN) SDN based on Open vSwitch (OVS). The API is defined by OVN-Kubernetes CNI as a Kubernetes Custom Resource. We will introduce the OVN packet mirroring feature, which enables the capture of packets from these interfaces and their forwarding to Scalable Functions (SFs) on the host. This process can be performed at wire speed thanks to NIC accelerators, allowing for the execution of tools like tcpdump, sFlow, and deep learning inference on the captured packets. 1400-1425: Enhancing KubeVirt Management: A Comprehensive Update on KubeVirt-Manager Description: KubeVirt-Manager continues to evolve as a pivotal tool for simplifying and streamlining the management of virtualized environments with KubeVirt. In this session, we’ll present a comprehensive update highlighting the latest enhancements and features designed to further empower administrators and users, and help accelerate even more the adoption of KubeVirt. From improved visibility with unscheduled Virtual Machines grouped in the Virtual Machines page, to a revamped NoVNC implementation supporting complete console functionality, our latest release promises a more seamless experience. Additionally, we introduce a new detailed information page for Virtual Machines and Virtual Machine Pools, providing insights into crucial details such as operating system version, kernel version, networking configuration, and disk specifications. Not stopping there, we also present enhancements extend to the Virtual Machine creation process, now offering options to select cache mode and access mode for disks, as well as the ability to utilize multiple network interfaces. Virtual Machine Pools receive a significant upgrade with support for Liveness Probes and Readiness Probes, alongside the introduction of auto-scaling based on Kubernetes HPA. Moreover, our integration with Cluster API provides now a streamlined option for administrators and users to bring new Kubernetes clusters with just a few clicks. Join us as we delve into these exciting updates to facilitate the management of KubeVirt environments. 1430-1455: Hack your own network connectivity Description: KubeVirt provides common network connectivity options for Virtual Machines that satisfy most scenarios and users. As the project popularity grows, special scenarios and needs surface with requests to tweak and customize network details. The sig-network was faced with a double challenge, to satisfy the growing community needs and at the same time to keep the codebase in a maintainable state. The network binding plugin has been introduced to solve these challenges, giving the ability to extend the network connectivity in KubeVirt and at the same time assist in maintaining the core network functionality. We will present the pluggable infrastructure and demonstrate a success story that used it to extend the supported interfaces (vDPA). 1500-1550: Shift Happens - From Virtualisation to Cloud and Kubernetes Description: I have worked in the virtualisation space for around 20 years and I have experience when we first saw the Virtualisation movement happen and the progression towards VMware and other hypervisors offering virtualisation platforms. I would like to take this session to educate that journey, highlighting use cases, migration strategies, data management and considerations as you consider moving into the world of VMs on Kubernetes. I will also highlight how the CSI will play a huge part on this movement. 1600-1625: Ensuring High Availability for KubeVirt Virtual Machines Description: Maintaining high availability of Pod workloads within Kubernetes is a common objective, typically achieved using Kubernetes’ built-in primitives. However, certain workloads, such as KubeVirt Virtual Machines (VMs), necessitate at-most-one semantics, which can only be achieved with the assistance of additional operators like Node Health Checks (NHC) and specific remediation operators. This presentation will explore the methods for establishing a high-availability infrastructure specifically designed for KubeVirt virtual machines (VMs). The discussion will encompass the development of a testing methodology for KubeVirt in conjunction with the Node Health Check (NHC), including the assessment of VM recovery times in the event of node failure. The presentation will detail the challenges encountered, the debugging process, and the solutions implemented, with a focus on the current status of VM recovery times. 1630-1700: Coordinated Upgrade for GPU Workloads Description: In this talk, we will explore how the Nvidia GeForce Now platform manages maintenance and upgrade activities on Kubernetes clusters with KubeVirt workloads by leveraging native Kubernetes components. Ongoing maintenance is essential for any Kubernetes cluster. The complexity of coordination and management of the maintenance activities only increases for Kubernetes clusters with KubeVirt and thousands of VMIs running simultaneously. In this talk, we will explore how the Nvidia GeForce Now platform leverages native Kubernetes components to manage and coordinate maintenance activities on Kubernetes clusters with thousands of GPU workloads across multiple data centers. We will present the architecture and benefits of our approach, explaining how we maintain a single source of truth for real-time status updates from the Kubernetes cluster. We will discuss our efficient scheduling algorithm, which takes into consideration existing VMI workloads for prioritizing maintenance tasks. We will cover our validation and failure handling processes. And finally, we will highlight actual improvements of operational efficiency in maintenance times during GeForce Now upgrades. Have questions?: Reach out on our virtualization Slack channel (in the Kubernetes workspace). Keep up to date: Connect with the KubeVirt Community through our community page. KubeVirt Summit is thankful for our sponsors: Our patron sponsors: " + "body": " - The fourth online KubeVirt Summit is coming on June 24-25! What is KubeVirt Summit?: KubeVirt Summit is our annual online conference, now in its fourth year, in which the entire broader community meets to showcase technical architecture, new features, proposed changes, and in-depth tutorials. We have two tracks to cater for developer talks, and another for end users to share their deployment journey with KubeVirt and their use case(s) at scale. When is it?: The event will take place online over two half-days: Dates: June 24 and 25, 2024 Time: 12:00-17:00 UTC note “Note”Previously Summit had been announced with dates of June 25-26 How do I register?: Register now at the CNCF KubeVirt Summit event page:https://community. cncf. io/events/details/cncf-virtual-project-events-2024-hosted-by-cncf-presents-kubevirt-summit-2024/. Schedule: All times are in UTC. Monday, June 24: 12:00-12:25 Welcome, Opening Remarks, and Community Updates 12:30-12:55 Keep your VM dancing with volume migration Alice Frosi, Red Hat Description: Want a refresh of your storage? Is there a better performing class available in your cluster? Is an old one being deprecated? Don’t panic, you don’t need to turn off your VM. The new option for updateVolumeStrategy allows you to update and migrate storage while the VM is running. You just need to apply a new VM definition that replaces the existing volumes with new ones. This update will initiate the volume migration, and at the end of the process, the VM will have entirely copied the data from the old volumes to the new ones without any workload disruptions. The talk will cover what you can do with this new feature and go over the technical decisions that lead to the final design. 13:00-13:25 Running Kubernetes clusters the Kubernetes-native way Andrei Kvapil, Ænix Description: Have you ever thought about building your own cloud? I bet you have. But is it possible to do this using only modern technologies and approaches, without leaving the cozy Kubernetes ecosystem? How KubeVirt helps create secure environments. Hard multi-tenancy with KubeVirt and Kamaji. Cluster autoscaler configuration for Cluster API. Operating KubeVirt with its CSI and CNI drivers. Securing API by removing controllers from the user clusters. 13:30-13:55 Using CPU & Memory hotplug for VM vertical scaling Igor Bezukh, Red Hat Description: I am going to present the CPU & Memory hotplug features towards the live update API, how it can be actually used for VM vertical scaling, and the future plans to use in-place pod update instead of live-migration. If time will allow, I will also try to discuss what needs to be accomplished to support auto-scaling. 14:00-14:25 Long-Lived User-Session VM: Enhancing Zero Downtime Rolling Deployments for Virtual Machines with Kubernetes Operators Sheng Lin, Nvidia Description: NVIDIA’s cloud-gaming service, GeForce Now, leverages Kubernetes-managed data centers to render games and stream the output in real-time to a variety of client devices, including computers, smartphones, and tablets. Implementing rolling deployments for long-lived user-session virtual machines presents unique challenges. Each client’s traffic is tied to a specific virtual machine, so any disruption can result in immediate user impact. Depending on the service, a rolling deployment could take up to eight hours as it waits for in-progress sessions to conclude. In this presentation, we will delve into how NVIDIA GeForce Now enhances zero downtime rolling deployments by utilizing a Kubernetes operator. Attendees will gain insights into: The specific challenges of rolling deployments for long-lived VMs in a Kubernetes environment. The architecture, development, and deployment of the Kubernetes operator that facilitates seamless VM rollovers. Real-world case studies comparing service availability and maintenance overhead before and after implementing the Kubernetes operator. Practical recommendations for adapting and generalizing this operator-based approach for other VM-based services. Join us to learn how to achieve efficient and reliable rolling deployments, ensuring uninterrupted user experience and streamlined maintenance processes. 14:30-14:55 KubeVirt vDPA Workflow: From Host to Pod to Domain Taekyung Kim, SK Telecom Description: In this presentation, we will explore the KubeVirt vDPA workflow, tracing its path from the host system to Kubernetes pods and the libvirt domain. We will start with an overview of the switchdev model, highlighting its significance in network hardware offload and the implementation in the host kernel. Following this, we will examine the integration of VF representors into Kubernetes CNI, illustrating how the CNI recognizes and manages both VF network interface and VF representor. Finally, we will explore the KubeVirt network binding plugin, demonstrating the process of passing vhost_vdpa from a Kubernetes pod to a libvirt domain. This session will provide valuable insights into enhancing network performance with KubeVirt and vDPA, offering practical guidance for real-world applications. 15:00-15:25 Build a full measurement chain using the CC-FDE solution in KubeVirt. Lei Zhou, Wenhui Zhang & Xiaocheng Dong, Intel Description: Confidential computing (CC) provides hardware-based protections for data-in-use beyond traditional data-in-transit(network) and data-at-rest(storage). Full Disk Encryption (FDE) adds an additional layer of preserving integrity and confidentiality of the initial state of the workload and also protection by encrypting data-at-rest. This multi-layered approach ensures that even if one layer is breached, sensitive data remains encrypted and inaccessible. With traditional FDE, use DM-verity to safeguard image integrity, and employ encryption techniques to ensure data confidentiality. In CC FDE design, the secret key can be better protected via a passwordless attestation process by binding to CC trust evidence. The process includes enrolling encryption keyid into OVMF, retrieving key via keyid through FDE agent via remote attestation, and decrypt automatically. In the above process, the TCB measurement is the key consideration. Although the advantage of KubeVirt flavor like confidential VM (by comparison with Confidential cluster/container) is smaller TCB, it still has the challenges like vTPM complexity, readiness and various vendor’s security harden Trust foundation. So, we created a vendor unlocked CC Trusted API. With CC FDE design by using CC Trusted API, it guarantees the integrity and confidentiality of images from building to deploying. The audience can learn how confidential computing impacts the traditional FDE, how to adopt CC FDE in KubeVirt for minimal TCB deployment flavor, then they can easily scale this solution in production quickly. 15:30-15:55 Optimizing GPU Capacity across multiple Data Centers Vinay Hangud, Nvidia Description: The talk will cover details about use case, design and workflow on how the Nvidia GeForce Now platform leverage a GPU Capacity to orchestrate VM workloads across a fleet of Data Centers. Use case: Nvidia GeForce Now platform intends to maximize GPU usage in a Data Center while catering to an on-demand continuous churning VM work load. Specific constraint: VM should get to running state and not get stuck at “not scheduled” due to capacity unavailability. Design details: The system leverages a GPU Capacity API to get accurate capacity information in a DC. Design details of the GPU Capacity API and Controller. Events driven mechanism to keep track of accurate GPU Capacity information during workload churn. Nvidia GeForce Now workflow: How Capacity API is leveraged to orchestrate workload across a fleet of Data Centers at full GPU capacity to achieve on-demand scheduling needs. 16:00-16:25 Isolating container workloads in Virtual Machines using KubeVirt Vladik Romanovsky, Red Hat Description: While Kubernetes provides container sandboxes that utilize Linux kernel features for isolation, vulnerabilities still exist, these may cause host kernel panics, exploits, memory access by other applications, and more. Join this session to learn more about how the MaroonedPods project offers to solve the workload isolation problem using KubeVirt and all native Kubernetes components without a need for a specialized environment or dedicated software. 16:30-16:55 DRA in KubeVirt: Overcoming Challenges and Implementing Changes Varun Ramachandra & Alay Patel, Nvidia Description: As the demand for GPU-accelerated workloads continues to surge across various industries, Kubernetes has emerged as a popular orchestration platform to manage these resources efficiently. However, the traditional GPU device plugin model in Kubernetes poses limitations in terms of flexibility, scalability, and resource optimization. This talk introduces the concept of Dynamic Resource Allocation (DRA) and demonstrates how transitioning GPU device plugins to DRA can address these challenges. In this session, attendees will learn about how Nvidia plans to solve the specific challenges in KubeVirt to leverage the advantages of DRA. Tuesday, June 25: 12:00-12:25 Optimizing live-migration for minimizing packet loss with KubeVirt and kube-ovn Zhuanlan & Zhangbingbing, China Mobile(SuZhou)Software Technology Co. ,Ltd. Description: We expose more detailed steps for virtual machine live-migration in KubeVirt. Which enable kube-ovn use the multi_chassis_bindings feature as will as triggering ACL policy changes based on RARP. In this way, we significantly reduces packet loss during live migrations. 12:30-12:55 KubeVirt Observability with Prometheus and Grafana Ananda Dwi Rahmawati, Activate Interactive Pte Ltd Description: As KubeVirt adoption grows, so does the need for effective observability. This talk delves into the essential metrics and tools required to ensure the health and performance of your KubeVirt environments. We’ll explore practical strategies for monitoring KubeVirt workloads, identifying potential issues, and gaining valuable insights into your virtualized environment. 13:00-13:25 Want a VM with local storage? Fine, just try it with Hwameistor! Pang Wei & Zhou MingMing, QiAnXin Description: There are many benefits to use VMs with local storage, like: Superior performance with local disk IOPS/latency/throughput. Less complexity compared to network-based storage system. Extremely low cost, VMs can be created easily even in an all-in-one k8s cluster. I’m glad to introduce a good way to do this. With the help of HwameiStor, VMs can be smoothly used with local storage(LVs or raw disk). 13:30-13:55 Real-Time Network Traffic Monitoring for KubeVirt VMs Using OVN and Switchdev SR-IOV VFIO Interfaces Zhuanlan & Zhangbingbing, China Mobile(SuZhou)Software Technology Co. ,Ltd. Description: When the data plane is offloaded from the Linux kernel to Smart NICs that support the Linux SwitchDev driver model, the ability to perform real-time monitoring of network traffic for debugging or anomaly detection is lost. This issue is exacerbated when using legacy non-switchdev SR-IOV Virtual Functions (VFs), where packets sent through these VFs are only visible on the next hop switch. Consequently, any debugging efforts would require collaboration with network administrators managing the switches. Additionally, performing real-time monitoring of network traffic for anomaly detection on switches becomes significantly more challenging. In this presentation, we will explore how to achieve real-time monitoring of KubeVirt VMs/VMIs that are multi-homed with Switchdev SR-IOV VFIO interfaces using the open-source Open Virtual Network (OVN) SDN based on Open vSwitch (OVS). The API is defined by OVN-Kubernetes CNI as a Kubernetes Custom Resource. We will introduce the OVN packet mirroring feature, which enables the capture of packets from these interfaces and their forwarding to Scalable Functions (SFs) on the host. This process can be performed at wire speed thanks to NIC accelerators, allowing for the execution of tools like tcpdump, sFlow, and deep learning inference on the captured packets. 14:00-14:25 Enhancing KubeVirt Management: A Comprehensive Update on KubeVirt-Manager Marcelo Feitoza Parisi, Google Cloud Description: KubeVirt-Manager continues to evolve as a pivotal tool for simplifying and streamlining the management of virtualized environments with KubeVirt. In this session, we’ll present a comprehensive update highlighting the latest enhancements and features designed to further empower administrators and users, and help accelerate even more the adoption of KubeVirt. From improved visibility with unscheduled Virtual Machines grouped in the Virtual Machines page, to a revamped NoVNC implementation supporting complete console functionality, our latest release promises a more seamless experience. Additionally, we introduce a new detailed information page for Virtual Machines and Virtual Machine Pools, providing insights into crucial details such as operating system version, kernel version, networking configuration, and disk specifications. Not stopping there, we also present enhancements extend to the Virtual Machine creation process, now offering options to select cache mode and access mode for disks, as well as the ability to utilize multiple network interfaces. Virtual Machine Pools receive a significant upgrade with support for Liveness Probes and Readiness Probes, alongside the introduction of auto-scaling based on Kubernetes HPA. Moreover, our integration with Cluster API provides now a streamlined option for administrators and users to bring new Kubernetes clusters with just a few clicks. Join us as we delve into these exciting updates to facilitate the management of KubeVirt environments. 14:30-14:55 Hack your own network connectivity Edward Haas & Leonardo Milleri, Red Hat Description: KubeVirt provides common network connectivity options for Virtual Machines that satisfy most scenarios and users. As the project popularity grows, special scenarios and needs surface with requests to tweak and customize network details. The sig-network was faced with a double challenge, to satisfy the growing community needs and at the same time to keep the codebase in a maintainable state. The network binding plugin has been introduced to solve these challenges, giving the ability to extend the network connectivity in KubeVirt and at the same time assist in maintaining the core network functionality. We will present the pluggable infrastructure and demonstrate a success story that used it to extend the supported interfaces (vDPA). 15:00-15:50 Shift Happens - From Virtualisation to Cloud and Kubernetes Michael Cade, Veeam Software Description: I have worked in the virtualisation space for around 20 years and I have experience when we first saw the Virtualisation movement happen and the progression towards VMware and other hypervisors offering virtualisation platforms. I would like to take this session to educate that journey, highlighting use cases, migration strategies, data management and considerations as you consider moving into the world of VMs on Kubernetes. I will also highlight how the CSI will play a huge part on this movement. 16:00-16:25 Ensuring High Availability for KubeVirt Virtual Machines Javier Cano Cano, Red Hat Description: Maintaining high availability of Pod workloads within Kubernetes is a common objective, typically achieved using Kubernetes’ built-in primitives. However, certain workloads, such as KubeVirt Virtual Machines (VMs), necessitate at-most-one semantics, which can only be achieved with the assistance of additional operators like Node Health Checks (NHC) and specific remediation operators. This presentation will explore the methods for establishing a high-availability infrastructure specifically designed for KubeVirt virtual machines (VMs). The discussion will encompass the development of a testing methodology for KubeVirt in conjunction with the Node Health Check (NHC), including the assessment of VM recovery times in the event of node failure. The presentation will detail the challenges encountered, the debugging process, and the solutions implemented, with a focus on the current status of VM recovery times. 16:30-17:00 Coordinated Upgrade for GPU Workloads Natalie Bandel & Ryan Hallisey Description: In this talk, we will explore how the Nvidia GeForce Now platform manages maintenance and upgrade activities on Kubernetes clusters with KubeVirt workloads by leveraging native Kubernetes components. Ongoing maintenance is essential for any Kubernetes cluster. The complexity of coordination and management of the maintenance activities only increases for Kubernetes clusters with KubeVirt and thousands of VMIs running simultaneously. In this talk, we will explore how the Nvidia GeForce Now platform leverages native Kubernetes components to manage and coordinate maintenance activities on Kubernetes clusters with thousands of GPU workloads across multiple data centers. We will present the architecture and benefits of our approach, explaining how we maintain a single source of truth for real-time status updates from the Kubernetes cluster. We will discuss our efficient scheduling algorithm, which takes into consideration existing VMI workloads for prioritizing maintenance tasks. We will cover our validation and failure handling processes. And finally, we will highlight actual improvements of operational efficiency in maintenance times during GeForce Now upgrades. Have questions?: Reach out on our virtualization Slack channel (in the Kubernetes workspace). Keep up to date: Connect with the KubeVirt Community through our community page. KubeVirt Summit is thankful for our sponsors: Our patron sponsors: " }, { "id": 213, "url": "/videos/talks", diff --git a/sitemap.xml b/sitemap.xml index 25ecab26bd..23a3ab2fd3 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -752,10 +752,10 @@ https://kubevirt.io//cluster-api-provider-external/ -https://kubevirt.io//community/ +https://kubevirt.io//category/community.html -https://kubevirt.io//category/community.html +https://kubevirt.io//community/ https://kubevirt.io//blogs/community @@ -1686,6 +1686,6 @@ https://kubevirt.io//assets/files/summit24-sponsor.pdf -2024-06-12T19:58:30+00:00 +2024-06-17T07:25:52+00:00 diff --git a/sponsor/index.html b/sponsor/index.html index 42ac60e9b5..b5d174ac0e 100644 --- a/sponsor/index.html +++ b/sponsor/index.html @@ -52,7 +52,7 @@ - + diff --git a/ssp-operator/index.html b/ssp-operator/index.html index 6d3a0fb91c..cdff9b2f18 100644 --- a/ssp-operator/index.html +++ b/ssp-operator/index.html @@ -52,7 +52,7 @@ - + diff --git a/summit/index.html b/summit/index.html index 2265dd67d9..60215b3513 100644 --- a/summit/index.html +++ b/summit/index.html @@ -52,7 +52,7 @@ - + @@ -259,7 +259,7 @@

When is it?

  • Dates: June 24 and 25, 2024
  • -
  • Time: 1200-1700 UTC
  • +
  • Time: 12:00-17:00 UTC

Note

Previously Summit had been announced with dates of June 25-26

@@ -277,18 +277,18 @@

Schedule

Monday, June 24

-

1200-1225: Welcome, Opening Remarks, and Community Updates

+

12:00-12:25 Welcome, Opening Remarks, and Community Updates

-

1230-1255: Build a full measurement chain using the CC-FDE solution in KubeVirt.
-Description: Confidential computing (CC) provides hardware-based protections for data-in-use beyond traditional data-in-transit(network) and data-at-rest(storage). Full Disk Encryption (FDE) adds an additional layer of preserving integrity and confidentiality of the initial state of the workload and also protection by encrypting data-at-rest. This multi-layered approach ensures that even if one layer is breached, sensitive data remains encrypted and inaccessible.

- -

With traditional FDE, use DM-verity to safeguard image integrity, and employ encryption techniques to ensure data confidentiality. In CC FDE design, the secret key can be better protected via a passwordless attestation process by binding to CC trust evidence. The process includes enrolling encryption keyid into OVMF, retrieving key via keyid through FDE agent via remote attestation, and decrypt automatically.

+

12:30-12:55 Keep your VM dancing with volume migration
+Alice Frosi, Red Hat
+Description: Want a refresh of your storage? Is there a better performing class available in your cluster? Is an old one being deprecated? Don’t panic, you don’t need to turn off your VM.

-

In the above process, the TCB measurement is the key consideration. Although the advantage of KubeVirt flavor like confidential VM (by comparison with Confidential cluster/container) is smaller TCB, it still has the challenges like vTPM complexity, readiness and various vendor’s security harden Trust foundation. So, we created a vendor unlocked CC Trusted API.

+

The new option for updateVolumeStrategy allows you to update and migrate storage while the VM is running. You just need to apply a new VM definition that replaces the existing volumes with new ones. This update will initiate the volume migration, and at the end of the process, the VM will have entirely copied the data from the old volumes to the new ones without any workload disruptions.

-

With CC FDE design by using CC Trusted API, it guarantees the integrity and confidentiality of images from building to deploying. The audience can learn how confidential computing impacts the traditional FDE, how to adopt CC FDE in KubeVirt for minimal TCB deployment flavor, then they can easily scale this solution in production quickly.

+

The talk will cover what you can do with this new feature and go over the technical decisions that lead to the final design.

-

1300-1325: Running Kubernetes clusters the Kubernetes-native way
+

13:00-13:25 Running Kubernetes clusters the Kubernetes-native way
+Andrei Kvapil, Ænix
Description: Have you ever thought about building your own cloud? I bet you have. But is it possible to do this using only modern technologies and approaches, without leaving the cozy Kubernetes ecosystem?

    @@ -299,10 +299,12 @@

    Monday, June 24

  • Securing API by removing controllers from the user clusters.
-

1330-1355: Using CPU & Memory hotplug for VM vertical scaling
+

13:30-13:55 Using CPU & Memory hotplug for VM vertical scaling
+Igor Bezukh, Red Hat
Description: I am going to present the CPU & Memory hotplug features towards the live update API, how it can be actually used for VM vertical scaling, and the future plans to use in-place pod update instead of live-migration. If time will allow, I will also try to discuss what needs to be accomplished to support auto-scaling.

-

1400-1425: Long-Lived User-Session VM: Enhancing Zero Downtime Rolling Deployments for Virtual Machines with Kubernetes Operators
+

14:00-14:25 Long-Lived User-Session VM: Enhancing Zero Downtime Rolling Deployments for Virtual Machines with Kubernetes Operators
+Sheng Lin, Nvidia
Description: NVIDIA’s cloud-gaming service, GeForce Now, leverages Kubernetes-managed data centers to render games and stream the output in real-time to a variety of client devices, including computers, smartphones, and tablets. Implementing rolling deployments for long-lived user-session virtual machines presents unique challenges. Each client’s traffic is tied to a specific virtual machine, so any disruption can result in immediate user impact. Depending on the service, a rolling deployment could take up to eight hours as it waits for in-progress sessions to conclude.

In this presentation, we will delve into how NVIDIA GeForce Now enhances zero downtime rolling deployments by utilizing a Kubernetes operator. Attendees will gain insights into:

@@ -316,17 +318,22 @@

Monday, June 24

Join us to learn how to achieve efficient and reliable rolling deployments, ensuring uninterrupted user experience and streamlined maintenance processes.

-

1430-1455: KubeVirt vDPA Workflow: From Host to Pod to Domain
+

14:30-14:55 KubeVirt vDPA Workflow: From Host to Pod to Domain
+Taekyung Kim, SK Telecom
Description: In this presentation, we will explore the KubeVirt vDPA workflow, tracing its path from the host system to Kubernetes pods and the libvirt domain. We will start with an overview of the switchdev model, highlighting its significance in network hardware offload and the implementation in the host kernel. Following this, we will examine the integration of VF representors into Kubernetes CNI, illustrating how the CNI recognizes and manages both VF network interface and VF representor. Finally, we will explore the KubeVirt network binding plugin, demonstrating the process of passing vhost_vdpa from a Kubernetes pod to a libvirt domain. This session will provide valuable insights into enhancing network performance with KubeVirt and vDPA, offering practical guidance for real-world applications.

-

1500-1525: Keep your VM dancing with volume migration
-Description: Want a refresh of your storage? Is there a better performing class available in your cluster? Is an old one being deprecated? Don’t panic, you don’t need to turn off your VM.

+

15:00-15:25 Build a full measurement chain using the CC-FDE solution in KubeVirt.
+Lei Zhou, Wenhui Zhang & Xiaocheng Dong, Intel
+Description: Confidential computing (CC) provides hardware-based protections for data-in-use beyond traditional data-in-transit(network) and data-at-rest(storage). Full Disk Encryption (FDE) adds an additional layer of preserving integrity and confidentiality of the initial state of the workload and also protection by encrypting data-at-rest. This multi-layered approach ensures that even if one layer is breached, sensitive data remains encrypted and inaccessible.

-

The new option for updateVolumeStrategy allows you to update and migrate storage while the VM is running. You just need to apply a new VM definition that replaces the existing volumes with new ones. This update will initiate the volume migration, and at the end of the process, the VM will have entirely copied the data from the old volumes to the new ones without any workload disruptions.

+

With traditional FDE, use DM-verity to safeguard image integrity, and employ encryption techniques to ensure data confidentiality. In CC FDE design, the secret key can be better protected via a passwordless attestation process by binding to CC trust evidence. The process includes enrolling encryption keyid into OVMF, retrieving key via keyid through FDE agent via remote attestation, and decrypt automatically.

-

The talk will cover what you can do with this new feature and go over the technical decisions that lead to the final design.

+

In the above process, the TCB measurement is the key consideration. Although the advantage of KubeVirt flavor like confidential VM (by comparison with Confidential cluster/container) is smaller TCB, it still has the challenges like vTPM complexity, readiness and various vendor’s security harden Trust foundation. So, we created a vendor unlocked CC Trusted API.

+ +

With CC FDE design by using CC Trusted API, it guarantees the integrity and confidentiality of images from building to deploying. The audience can learn how confidential computing impacts the traditional FDE, how to adopt CC FDE in KubeVirt for minimal TCB deployment flavor, then they can easily scale this solution in production quickly.

-

1530-1555: Optimizing GPU Capacity across multiple Data Centers
+

15:30-15:55 Optimizing GPU Capacity across multiple Data Centers
+Vinay Hangud, Nvidia
Description: The talk will cover details about use case, design and workflow on how the Nvidia GeForce Now platform leverage a GPU Capacity to orchestrate VM workloads across a fleet of Data Centers.

Use case: @@ -344,27 +351,32 @@

Monday, June 24

Nvidia GeForce Now workflow: How Capacity API is leveraged to orchestrate workload across a fleet of Data Centers at full GPU capacity to achieve on-demand scheduling needs.

-

1600-1625: Isolating container workloads in Virtual Machines using KubeVirt
+

16:00-16:25 Isolating container workloads in Virtual Machines using KubeVirt
+Vladik Romanovsky, Red Hat
Description: While Kubernetes provides container sandboxes that utilize Linux kernel features for isolation, vulnerabilities still exist, these may cause host kernel panics, exploits, memory access by other applications, and more.

Join this session to learn more about how the MaroonedPods project offers to solve the workload isolation problem using KubeVirt and all native Kubernetes components without a need for a specialized environment or dedicated software.

-

1630-1655: DRA in KubeVirt: Overcoming Challenges and Implementing Changes
+

16:30-16:55 DRA in KubeVirt: Overcoming Challenges and Implementing Changes
+Varun Ramachandra & Alay Patel, Nvidia
Description: As the demand for GPU-accelerated workloads continues to surge across various industries, Kubernetes has emerged as a popular orchestration platform to manage these resources efficiently. However, the traditional GPU device plugin model in Kubernetes poses limitations in terms of flexibility, scalability, and resource optimization.

This talk introduces the concept of Dynamic Resource Allocation (DRA) and demonstrates how transitioning GPU device plugins to DRA can address these challenges. In this session, attendees will learn about how Nvidia plans to solve the specific challenges in KubeVirt to leverage the advantages of DRA.

Tuesday, June 25

-

1200-1225: Optimizing live-migration for minimizing packet loss with KubeVirt and kube-ovn
+

12:00-12:25 Optimizing live-migration for minimizing packet loss with KubeVirt and kube-ovn
+Zhuanlan & Zhangbingbing, China Mobile(SuZhou)Software Technology Co.,Ltd.
Description: We expose more detailed steps for virtual machine live-migration in KubeVirt. Which enable kube-ovn use the multi_chassis_bindings feature as will as triggering ACL policy changes based on RARP. In this way, we significantly reduces packet loss during live migrations.

-

1230-1255: KubeVirt Observability with Prometheus and Grafana
+

12:30-12:55 KubeVirt Observability with Prometheus and Grafana
+Ananda Dwi Rahmawati, Activate Interactive Pte Ltd
Description: As KubeVirt adoption grows, so does the need for effective observability. This talk delves into the essential metrics and tools required to ensure the health and performance of your KubeVirt environments.

We’ll explore practical strategies for monitoring KubeVirt workloads, identifying potential issues, and gaining valuable insights into your virtualized environment.

-

1300-1325: Want a VM with local storage? Fine, just try it with Hwameistor!
+

13:00-13:25 Want a VM with local storage? Fine, just try it with Hwameistor!
+Pang Wei & Zhou MingMing, QiAnXin
Description: There are many benefits to use VMs with local storage, like:

    @@ -375,34 +387,40 @@

    Tuesday, June 25

    I’m glad to introduce a good way to do this. With the help of HwameiStor, VMs can be smoothly used with local storage(LVs or raw disk).

    -

    1330-1355: Real-Time Network Traffic Monitoring for KubeVirt VMs Using OVN and Switchdev SR-IOV VFIO Interfaces
    +

    13:30-13:55 Real-Time Network Traffic Monitoring for KubeVirt VMs Using OVN and Switchdev SR-IOV VFIO Interfaces
    +Zhuanlan & Zhangbingbing, China Mobile(SuZhou)Software Technology Co.,Ltd.
    Description: When the data plane is offloaded from the Linux kernel to Smart NICs that support the Linux SwitchDev driver model, the ability to perform real-time monitoring of network traffic for debugging or anomaly detection is lost. This issue is exacerbated when using legacy non-switchdev SR-IOV Virtual Functions (VFs), where packets sent through these VFs are only visible on the next hop switch. Consequently, any debugging efforts would require collaboration with network administrators managing the switches. Additionally, performing real-time monitoring of network traffic for anomaly detection on switches becomes significantly more challenging.

    In this presentation, we will explore how to achieve real-time monitoring of KubeVirt VMs/VMIs that are multi-homed with Switchdev SR-IOV VFIO interfaces using the open-source Open Virtual Network (OVN) SDN based on Open vSwitch (OVS). The API is defined by OVN-Kubernetes CNI as a Kubernetes Custom Resource. We will introduce the OVN packet mirroring feature, which enables the capture of packets from these interfaces and their forwarding to Scalable Functions (SFs) on the host. This process can be performed at wire speed thanks to NIC accelerators, allowing for the execution of tools like tcpdump, sFlow, and deep learning inference on the captured packets.

    -

    1400-1425: Enhancing KubeVirt Management: A Comprehensive Update on KubeVirt-Manager
    +

    14:00-14:25 Enhancing KubeVirt Management: A Comprehensive Update on KubeVirt-Manager
    +Marcelo Feitoza Parisi, Google Cloud
    Description: KubeVirt-Manager continues to evolve as a pivotal tool for simplifying and streamlining the management of virtualized environments with KubeVirt. In this session, we’ll present a comprehensive update highlighting the latest enhancements and features designed to further empower administrators and users, and help accelerate even more the adoption of KubeVirt. From improved visibility with unscheduled Virtual Machines grouped in the Virtual Machines page, to a revamped NoVNC implementation supporting complete console functionality, our latest release promises a more seamless experience.

    Additionally, we introduce a new detailed information page for Virtual Machines and Virtual Machine Pools, providing insights into crucial details such as operating system version, kernel version, networking configuration, and disk specifications. Not stopping there, we also present enhancements extend to the Virtual Machine creation process, now offering options to select cache mode and access mode for disks, as well as the ability to utilize multiple network interfaces. Virtual Machine Pools receive a significant upgrade with support for Liveness Probes and Readiness Probes, alongside the introduction of auto-scaling based on Kubernetes HPA. Moreover, our integration with Cluster API provides now a streamlined option for administrators and users to bring new Kubernetes clusters with just a few clicks.

    Join us as we delve into these exciting updates to facilitate the management of KubeVirt environments.

    -

    1430-1455: Hack your own network connectivity
    +

    14:30-14:55 Hack your own network connectivity
    +Edward Haas & Leonardo Milleri, Red Hat
    Description: KubeVirt provides common network connectivity options for Virtual Machines that satisfy most scenarios and users. As the project popularity grows, special scenarios and needs surface with requests to tweak and customize network details. The sig-network was faced with a double challenge, to satisfy the growing community needs and at the same time to keep the codebase in a maintainable state.

    The network binding plugin has been introduced to solve these challenges, giving the ability to extend the network connectivity in KubeVirt and at the same time assist in maintaining the core network functionality.

    We will present the pluggable infrastructure and demonstrate a success story that used it to extend the supported interfaces (vDPA).

    -

    1500-1550: Shift Happens - From Virtualisation to Cloud and Kubernetes
    +

    15:00-15:50 Shift Happens - From Virtualisation to Cloud and Kubernetes
    +Michael Cade, Veeam Software
    Description: I have worked in the virtualisation space for around 20 years and I have experience when we first saw the Virtualisation movement happen and the progression towards VMware and other hypervisors offering virtualisation platforms. I would like to take this session to educate that journey, highlighting use cases, migration strategies, data management and considerations as you consider moving into the world of VMs on Kubernetes. I will also highlight how the CSI will play a huge part on this movement.

    -

    1600-1625: Ensuring High Availability for KubeVirt Virtual Machines
    +

    16:00-16:25 Ensuring High Availability for KubeVirt Virtual Machines
    +Javier Cano Cano, Red Hat
    Description: Maintaining high availability of Pod workloads within Kubernetes is a common objective, typically achieved using Kubernetes’ built-in primitives. However, certain workloads, such as KubeVirt Virtual Machines (VMs), necessitate at-most-one semantics, which can only be achieved with the assistance of additional operators like Node Health Checks (NHC) and specific remediation operators.

    This presentation will explore the methods for establishing a high-availability infrastructure specifically designed for KubeVirt virtual machines (VMs). The discussion will encompass the development of a testing methodology for KubeVirt in conjunction with the Node Health Check (NHC), including the assessment of VM recovery times in the event of node failure. The presentation will detail the challenges encountered, the debugging process, and the solutions implemented, with a focus on the current status of VM recovery times.

    -

    1630-1700: Coordinated Upgrade for GPU Workloads
    +

    16:30-17:00 Coordinated Upgrade for GPU Workloads
    +Natalie Bandel & Ryan Hallisey
    Description: In this talk, we will explore how the Nvidia GeForce Now platform manages maintenance and upgrade activities on Kubernetes clusters with KubeVirt workloads by leveraging native Kubernetes components.

    Ongoing maintenance is essential for any Kubernetes cluster. The complexity of coordination and management of the maintenance activities only increases for Kubernetes clusters with KubeVirt and thousands of VMIs running simultaneously. In this talk, we will explore how the Nvidia GeForce Now platform leverages native Kubernetes components to manage and coordinate maintenance activities on Kubernetes clusters with thousands of GPU workloads across multiple data centers. We will present the architecture and benefits of our approach, explaining how we maintain a single source of truth for real-time status updates from the Kubernetes cluster. We will discuss our efficient scheduling algorithm, which takes into consideration existing VMI workloads for prioritizing maintenance tasks. We will cover our validation and failure handling processes. And finally, we will highlight actual improvements of operational efficiency in maintenance times during GeForce Now upgrades.

    diff --git a/tag/addons.html b/tag/addons.html index ae60607c70..20bc853598 100644 --- a/tag/addons.html +++ b/tag/addons.html @@ -52,7 +52,7 @@ - + diff --git a/tag/admin-operations.html b/tag/admin-operations.html index e7defdf1d9..c73c024fcd 100644 --- a/tag/admin-operations.html +++ b/tag/admin-operations.html @@ -52,7 +52,7 @@ - + diff --git a/tag/admin.html b/tag/admin.html index 318de8bee3..74dcb4cf6a 100644 --- a/tag/admin.html +++ b/tag/admin.html @@ -52,7 +52,7 @@ - + diff --git a/tag/advanced-vm-scheduling.html b/tag/advanced-vm-scheduling.html index d3e72b4f2a..1d3ad8460d 100644 --- a/tag/advanced-vm-scheduling.html +++ b/tag/advanced-vm-scheduling.html @@ -52,7 +52,7 @@ - + diff --git a/tag/affinity.html b/tag/affinity.html index a5950fc3cb..a608110ea7 100644 --- a/tag/affinity.html +++ b/tag/affinity.html @@ -52,7 +52,7 @@ - + diff --git a/tag/america.html b/tag/america.html index 894680a4ae..070dd6b0ba 100644 --- a/tag/america.html +++ b/tag/america.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ami.html b/tag/ami.html index 97d705c0ff..a311260258 100644 --- a/tag/ami.html +++ b/tag/ami.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ansible-collection.html b/tag/ansible-collection.html index 73a72261ac..6a0c207222 100644 --- a/tag/ansible-collection.html +++ b/tag/ansible-collection.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ansible.html b/tag/ansible.html index da81e2a09f..11dbede6ad 100644 --- a/tag/ansible.html +++ b/tag/ansible.html @@ -52,7 +52,7 @@ - + diff --git a/tag/api.html b/tag/api.html index b30ca31078..c4e83c02dc 100644 --- a/tag/api.html +++ b/tag/api.html @@ -52,7 +52,7 @@ - + diff --git a/tag/architecture.html b/tag/architecture.html index 7c7b57be1a..f29a423171 100644 --- a/tag/architecture.html +++ b/tag/architecture.html @@ -52,7 +52,7 @@ - + diff --git a/tag/authentication.html b/tag/authentication.html index febb0da19f..4a31492673 100644 --- a/tag/authentication.html +++ b/tag/authentication.html @@ -52,7 +52,7 @@ - + diff --git a/tag/autodeployer.html b/tag/autodeployer.html index 6e76aee744..d42fb30a43 100644 --- a/tag/autodeployer.html +++ b/tag/autodeployer.html @@ -52,7 +52,7 @@ - + diff --git a/tag/aws.html b/tag/aws.html index 49b43de4ce..9ad3942622 100644 --- a/tag/aws.html +++ b/tag/aws.html @@ -52,7 +52,7 @@ - + diff --git a/tag/basic-operations.html b/tag/basic-operations.html index 276a2566d5..7941b40e20 100644 --- a/tag/basic-operations.html +++ b/tag/basic-operations.html @@ -52,7 +52,7 @@ - + diff --git a/tag/bridge.html b/tag/bridge.html index 4614b83a35..3067634baf 100644 --- a/tag/bridge.html +++ b/tag/bridge.html @@ -52,7 +52,7 @@ - + diff --git a/tag/build.html b/tag/build.html index dc0daa1c01..2dd7b2d299 100644 --- a/tag/build.html +++ b/tag/build.html @@ -52,7 +52,7 @@ - + diff --git a/tag/builder-tool.html b/tag/builder-tool.html index 13c1a8503c..250b544992 100644 --- a/tag/builder-tool.html +++ b/tag/builder-tool.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cdi.html b/tag/cdi.html index b2b1db9b51..c3fc0b1f63 100644 --- a/tag/cdi.html +++ b/tag/cdi.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ceph.html b/tag/ceph.html index 3d6dee673e..7540c04af1 100644 --- a/tag/ceph.html +++ b/tag/ceph.html @@ -52,7 +52,7 @@ - + diff --git a/tag/changelog.html b/tag/changelog.html index ed9be29ada..f2271dd963 100644 --- a/tag/changelog.html +++ b/tag/changelog.html @@ -52,7 +52,7 @@ - + diff --git a/tag/chronyd.html b/tag/chronyd.html index cdc96eda62..53540d2084 100644 --- a/tag/chronyd.html +++ b/tag/chronyd.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ci-cd.html b/tag/ci-cd.html index 924448e941..453e4632d0 100644 --- a/tag/ci-cd.html +++ b/tag/ci-cd.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cicd.html b/tag/cicd.html index 25704fec8e..cf2e009c1f 100644 --- a/tag/cicd.html +++ b/tag/cicd.html @@ -52,7 +52,7 @@ - + diff --git a/tag/clearcontainers.html b/tag/clearcontainers.html index b9efab7f41..c6539acc7b 100644 --- a/tag/clearcontainers.html +++ b/tag/clearcontainers.html @@ -52,7 +52,7 @@ - + diff --git a/tag/clone.html b/tag/clone.html index 4b54d6fc13..d63014b918 100644 --- a/tag/clone.html +++ b/tag/clone.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cloudnativecon.html b/tag/cloudnativecon.html index f14c04382e..a82940f56e 100644 --- a/tag/cloudnativecon.html +++ b/tag/cloudnativecon.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cluster-autoscaler.html b/tag/cluster-autoscaler.html index c514a8c249..25f8f78f15 100644 --- a/tag/cluster-autoscaler.html +++ b/tag/cluster-autoscaler.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cluster-network-addons-operator.html b/tag/cluster-network-addons-operator.html index 8eac377957..fe373dbef8 100644 --- a/tag/cluster-network-addons-operator.html +++ b/tag/cluster-network-addons-operator.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cnao.html b/tag/cnao.html index c2bff9c4d0..5853c35713 100644 --- a/tag/cnao.html +++ b/tag/cnao.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cncf.html b/tag/cncf.html index c8454bc729..75117ae20f 100644 --- a/tag/cncf.html +++ b/tag/cncf.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cni.html b/tag/cni.html index 02d692e639..a902d853ba 100644 --- a/tag/cni.html +++ b/tag/cni.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cockpit.html b/tag/cockpit.html index af830c30b4..2dcb49da21 100644 --- a/tag/cockpit.html +++ b/tag/cockpit.html @@ -52,7 +52,7 @@ - + diff --git a/tag/common-templates.html b/tag/common-templates.html index e6b08df2ad..004a05b6dd 100644 --- a/tag/common-templates.html +++ b/tag/common-templates.html @@ -52,7 +52,7 @@ - + diff --git a/tag/community.html b/tag/community.html index 10ade0cfd4..5fb9579b3a 100644 --- a/tag/community.html +++ b/tag/community.html @@ -52,7 +52,7 @@ - + diff --git a/tag/composer-cli.html b/tag/composer-cli.html index 82141895c8..ea9f501229 100644 --- a/tag/composer-cli.html +++ b/tag/composer-cli.html @@ -52,7 +52,7 @@ - + diff --git a/tag/condition-types.html b/tag/condition-types.html index 9406dda32e..09d99471fa 100644 --- a/tag/condition-types.html +++ b/tag/condition-types.html @@ -52,7 +52,7 @@ - + diff --git a/tag/conference.html b/tag/conference.html index 88deaae59b..33ab1fdedb 100644 --- a/tag/conference.html +++ b/tag/conference.html @@ -52,7 +52,7 @@ - + diff --git a/tag/connect-to-console.html b/tag/connect-to-console.html index d40468144f..e0354f5e08 100644 --- a/tag/connect-to-console.html +++ b/tag/connect-to-console.html @@ -52,7 +52,7 @@ - + diff --git a/tag/connect-to-ssh.html b/tag/connect-to-ssh.html index ccfbbe4aaf..4bacaf4651 100644 --- a/tag/connect-to-ssh.html +++ b/tag/connect-to-ssh.html @@ -52,7 +52,7 @@ - + diff --git a/tag/container.html b/tag/container.html index e76798a753..fc98b85108 100644 --- a/tag/container.html +++ b/tag/container.html @@ -52,7 +52,7 @@ - + diff --git a/tag/containerdisk.html b/tag/containerdisk.html index 461e8997c5..23ddae3a13 100644 --- a/tag/containerdisk.html +++ b/tag/containerdisk.html @@ -52,7 +52,7 @@ - + diff --git a/tag/containerized-data-importer.html b/tag/containerized-data-importer.html index de180c4d12..bf65cc902d 100644 --- a/tag/containerized-data-importer.html +++ b/tag/containerized-data-importer.html @@ -52,7 +52,7 @@ - + diff --git a/tag/continuous-integration.html b/tag/continuous-integration.html index 0499322a97..403e6411f4 100644 --- a/tag/continuous-integration.html +++ b/tag/continuous-integration.html @@ -52,7 +52,7 @@ - + diff --git a/tag/contra-lib.html b/tag/contra-lib.html index 7cfe20e232..20f7b9836a 100644 --- a/tag/contra-lib.html +++ b/tag/contra-lib.html @@ -52,7 +52,7 @@ - + diff --git a/tag/coreos.html b/tag/coreos.html index a866e57948..0717269c36 100644 --- a/tag/coreos.html +++ b/tag/coreos.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cpu-pinning.html b/tag/cpu-pinning.html index 8bae634890..bf938b7593 100644 --- a/tag/cpu-pinning.html +++ b/tag/cpu-pinning.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cpumanager.html b/tag/cpumanager.html index 398192b8fa..1edea1754b 100644 --- a/tag/cpumanager.html +++ b/tag/cpumanager.html @@ -52,7 +52,7 @@ - + diff --git a/tag/create-vm.html b/tag/create-vm.html index 05fc1fc143..6d446647d6 100644 --- a/tag/create-vm.html +++ b/tag/create-vm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cri-o.html b/tag/cri-o.html index b59559dc5b..615ebbfff1 100644 --- a/tag/cri-o.html +++ b/tag/cri-o.html @@ -52,7 +52,7 @@ - + diff --git a/tag/cri.html b/tag/cri.html index a2cc9ce2b6..4150c6ec3f 100644 --- a/tag/cri.html +++ b/tag/cri.html @@ -52,7 +52,7 @@ - + diff --git a/tag/custom-resources.html b/tag/custom-resources.html index 64236f035f..49d753c596 100644 --- a/tag/custom-resources.html +++ b/tag/custom-resources.html @@ -52,7 +52,7 @@ - + diff --git a/tag/datavolumes.html b/tag/datavolumes.html index 7662325a11..1d296da5f4 100644 --- a/tag/datavolumes.html +++ b/tag/datavolumes.html @@ -52,7 +52,7 @@ - + diff --git a/tag/debug.html b/tag/debug.html index 324339ab20..857f67295b 100644 --- a/tag/debug.html +++ b/tag/debug.html @@ -52,7 +52,7 @@ - + diff --git a/tag/dedicated-network.html b/tag/dedicated-network.html index 30c42f5cba..8df96cdfea 100644 --- a/tag/dedicated-network.html +++ b/tag/dedicated-network.html @@ -52,7 +52,7 @@ - + diff --git a/tag/design.html b/tag/design.html index e4f0b2984c..549b37e957 100644 --- a/tag/design.html +++ b/tag/design.html @@ -52,7 +52,7 @@ - + diff --git a/tag/development.html b/tag/development.html index 20d634fd8f..a5deab1ff2 100644 --- a/tag/development.html +++ b/tag/development.html @@ -52,7 +52,7 @@ - + diff --git a/tag/device-plugins.html b/tag/device-plugins.html index 5cccfe7231..3753cc5bcf 100644 --- a/tag/device-plugins.html +++ b/tag/device-plugins.html @@ -52,7 +52,7 @@ - + diff --git a/tag/disk-image.html b/tag/disk-image.html index 6b74ed0a47..92cd15ef09 100644 --- a/tag/disk-image.html +++ b/tag/disk-image.html @@ -52,7 +52,7 @@ - + diff --git a/tag/docker.html b/tag/docker.html index 54d3ace017..3ba5c0e1cb 100644 --- a/tag/docker.html +++ b/tag/docker.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ebtables.html b/tag/ebtables.html index 0cf6f0b883..60f7b6a39d 100644 --- a/tag/ebtables.html +++ b/tag/ebtables.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ec2.html b/tag/ec2.html index 463f1d387e..4203a48f5b 100644 --- a/tag/ec2.html +++ b/tag/ec2.html @@ -52,7 +52,7 @@ - + diff --git a/tag/eks.html b/tag/eks.html index eb39aea96b..5a742e3508 100644 --- a/tag/eks.html +++ b/tag/eks.html @@ -52,7 +52,7 @@ - + diff --git a/tag/event.html b/tag/event.html index 4f686c1f8c..3b2b31c3b2 100644 --- a/tag/event.html +++ b/tag/event.html @@ -52,7 +52,7 @@ - + diff --git a/tag/eviction.html b/tag/eviction.html index be5b97fe1a..5d9b3141cd 100644 --- a/tag/eviction.html +++ b/tag/eviction.html @@ -52,7 +52,7 @@ - + diff --git a/tag/federation.html b/tag/federation.html index 9fbc2915c1..94878cc287 100644 --- a/tag/federation.html +++ b/tag/federation.html @@ -52,7 +52,7 @@ - + diff --git a/tag/fedora.html b/tag/fedora.html index 44c4aef932..cf9249b9e4 100644 --- a/tag/fedora.html +++ b/tag/fedora.html @@ -52,7 +52,7 @@ - + diff --git a/tag/flannel.html b/tag/flannel.html index 2e53499447..fabc77d4e6 100644 --- a/tag/flannel.html +++ b/tag/flannel.html @@ -52,7 +52,7 @@ - + diff --git a/tag/gathering.html b/tag/gathering.html index 295b992f98..d06be20a84 100644 --- a/tag/gathering.html +++ b/tag/gathering.html @@ -52,7 +52,7 @@ - + diff --git a/tag/gcp.html b/tag/gcp.html index 983ad2ec86..d141eb1475 100644 --- a/tag/gcp.html +++ b/tag/gcp.html @@ -52,7 +52,7 @@ - + diff --git a/tag/glusterfs.html b/tag/glusterfs.html index 0e1fa41b4e..bbfde1d175 100644 --- a/tag/glusterfs.html +++ b/tag/glusterfs.html @@ -52,7 +52,7 @@ - + diff --git a/tag/go.html b/tag/go.html index 4996c0bd3b..502d71fa54 100644 --- a/tag/go.html +++ b/tag/go.html @@ -52,7 +52,7 @@ - + diff --git a/tag/gpu-workloads.html b/tag/gpu-workloads.html index aeca87a754..1895dac65c 100644 --- a/tag/gpu-workloads.html +++ b/tag/gpu-workloads.html @@ -52,7 +52,7 @@ - + diff --git a/tag/gpu.html b/tag/gpu.html index cefba310db..575fe7f8c3 100644 --- a/tag/gpu.html +++ b/tag/gpu.html @@ -52,7 +52,7 @@ - + diff --git a/tag/grafana.html b/tag/grafana.html index 70bb76f72f..7fa878b346 100644 --- a/tag/grafana.html +++ b/tag/grafana.html @@ -52,7 +52,7 @@ - + diff --git a/tag/hco.html b/tag/hco.html index 9e5c1c7420..b7baa42967 100644 --- a/tag/hco.html +++ b/tag/hco.html @@ -52,7 +52,7 @@ - + diff --git a/tag/heketi.html b/tag/heketi.html index 934da40f86..ac0b8d20c3 100644 --- a/tag/heketi.html +++ b/tag/heketi.html @@ -52,7 +52,7 @@ - + diff --git a/tag/hilights.html b/tag/hilights.html index 538059bb10..a366d314fa 100644 --- a/tag/hilights.html +++ b/tag/hilights.html @@ -52,7 +52,7 @@ - + diff --git a/tag/homelab.html b/tag/homelab.html index 8340846d46..f3fe212284 100644 --- a/tag/homelab.html +++ b/tag/homelab.html @@ -52,7 +52,7 @@ - + diff --git a/tag/hugepages.html b/tag/hugepages.html index c4133f6b1d..bbb1029156 100644 --- a/tag/hugepages.html +++ b/tag/hugepages.html @@ -52,7 +52,7 @@ - + diff --git a/tag/hyperconverged-operator.html b/tag/hyperconverged-operator.html index 7300b31bc5..e89fc4c267 100644 --- a/tag/hyperconverged-operator.html +++ b/tag/hyperconverged-operator.html @@ -52,7 +52,7 @@ - + diff --git a/tag/iac.html b/tag/iac.html index e5ea01d3a0..f8c2baa72d 100644 --- a/tag/iac.html +++ b/tag/iac.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ignition.html b/tag/ignition.html index 7ba68385de..d496c465d8 100644 --- a/tag/ignition.html +++ b/tag/ignition.html @@ -52,7 +52,7 @@ - + diff --git a/tag/images.html b/tag/images.html index 1ff0f11036..6aa6807944 100644 --- a/tag/images.html +++ b/tag/images.html @@ -52,7 +52,7 @@ - + diff --git a/tag/import.html b/tag/import.html index b092f83da6..cad420f60d 100644 --- a/tag/import.html +++ b/tag/import.html @@ -52,7 +52,7 @@ - + diff --git a/tag/infrastructure.html b/tag/infrastructure.html index ef31f23fec..0dd62e7c09 100644 --- a/tag/infrastructure.html +++ b/tag/infrastructure.html @@ -52,7 +52,7 @@ - + diff --git a/tag/installing-kubevirt.html b/tag/installing-kubevirt.html index b0604ee166..ada5df0ed8 100644 --- a/tag/installing-kubevirt.html +++ b/tag/installing-kubevirt.html @@ -52,7 +52,7 @@ - + diff --git a/tag/instancetypes.html b/tag/instancetypes.html index a2c3e29acf..d724e8caed 100644 --- a/tag/instancetypes.html +++ b/tag/instancetypes.html @@ -52,7 +52,7 @@ - + diff --git a/tag/intel.html b/tag/intel.html index 247cdee1d5..d8ee2cfd05 100644 --- a/tag/intel.html +++ b/tag/intel.html @@ -52,7 +52,7 @@ - + diff --git a/tag/iptables.html b/tag/iptables.html index 09d9ba91fa..670bda7d9d 100644 --- a/tag/iptables.html +++ b/tag/iptables.html @@ -52,7 +52,7 @@ - + diff --git a/tag/istio.html b/tag/istio.html index de6be0dc78..bd28645548 100644 --- a/tag/istio.html +++ b/tag/istio.html @@ -52,7 +52,7 @@ - + diff --git a/tag/jenkins.html b/tag/jenkins.html index 4e4988978c..24bd55efff 100644 --- a/tag/jenkins.html +++ b/tag/jenkins.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubecon.html b/tag/kubecon.html index 24dff529eb..4fa6321589 100644 --- a/tag/kubecon.html +++ b/tag/kubecon.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubefed.html b/tag/kubefed.html index 8c2dc4ebf8..7a1434a5f3 100644 --- a/tag/kubefed.html +++ b/tag/kubefed.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubernetes-nmstate.html b/tag/kubernetes-nmstate.html index 8818b7ea57..945e9789e9 100644 --- a/tag/kubernetes-nmstate.html +++ b/tag/kubernetes-nmstate.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubernetes.html b/tag/kubernetes.html index 02ca6fea8b..cf16e98ca7 100644 --- a/tag/kubernetes.html +++ b/tag/kubernetes.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubetron.html b/tag/kubetron.html index 5c6241151d..ea59d0622a 100644 --- a/tag/kubetron.html +++ b/tag/kubetron.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-ansible.html b/tag/kubevirt-ansible.html index 686a455b64..21c8718074 100644 --- a/tag/kubevirt-ansible.html +++ b/tag/kubevirt-ansible.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-hyperconverged.html b/tag/kubevirt-hyperconverged.html index 0de6c34939..1812846fba 100644 --- a/tag/kubevirt-hyperconverged.html +++ b/tag/kubevirt-hyperconverged.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-installation.html b/tag/kubevirt-installation.html index 423bbfd0c8..27d28c61cf 100644 --- a/tag/kubevirt-installation.html +++ b/tag/kubevirt-installation.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-objects.html b/tag/kubevirt-objects.html index 85ce7c6a84..3e1e2b9592 100644 --- a/tag/kubevirt-objects.html +++ b/tag/kubevirt-objects.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-tekton-tasks.html b/tag/kubevirt-tekton-tasks.html index 117472a06d..566b3c6f54 100644 --- a/tag/kubevirt-tekton-tasks.html +++ b/tag/kubevirt-tekton-tasks.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-tutorial.html b/tag/kubevirt-tutorial.html index 7fa2b8c6fc..e947f7fed8 100644 --- a/tag/kubevirt-tutorial.html +++ b/tag/kubevirt-tutorial.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt-upgrade.html b/tag/kubevirt-upgrade.html index a3507b6b14..d5a8592eff 100644 --- a/tag/kubevirt-upgrade.html +++ b/tag/kubevirt-upgrade.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt.core.html b/tag/kubevirt.core.html index 617a4ac37c..f5cd1503bf 100644 --- a/tag/kubevirt.core.html +++ b/tag/kubevirt.core.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirt.html b/tag/kubevirt.html index 4d41a3dc57..b6d5d44942 100644 --- a/tag/kubevirt.html +++ b/tag/kubevirt.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kubevirtci.html b/tag/kubevirtci.html index 179f0c37e3..43ff47ce88 100644 --- a/tag/kubevirtci.html +++ b/tag/kubevirtci.html @@ -52,7 +52,7 @@ - + diff --git a/tag/kvm.html b/tag/kvm.html index b63b37b560..20fc6d245c 100644 --- a/tag/kvm.html +++ b/tag/kvm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/lab.html b/tag/lab.html index d2c51eb974..6322384b3c 100644 --- a/tag/lab.html +++ b/tag/lab.html @@ -52,7 +52,7 @@ - + diff --git a/tag/laboratory.html b/tag/laboratory.html index d17e399737..3fcbb4b329 100644 --- a/tag/laboratory.html +++ b/tag/laboratory.html @@ -52,7 +52,7 @@ - + diff --git a/tag/libvirt.html b/tag/libvirt.html index 60e69a70c6..0ab7b5c808 100644 --- a/tag/libvirt.html +++ b/tag/libvirt.html @@ -52,7 +52,7 @@ - + diff --git a/tag/lifecycle.html b/tag/lifecycle.html index 618fd773d0..960344702a 100644 --- a/tag/lifecycle.html +++ b/tag/lifecycle.html @@ -52,7 +52,7 @@ - + diff --git a/tag/live-migration.html b/tag/live-migration.html index 23ab13798a..68788b1ef5 100644 --- a/tag/live-migration.html +++ b/tag/live-migration.html @@ -52,7 +52,7 @@ - + diff --git a/tag/load-balancer.html b/tag/load-balancer.html index 397707ddd3..30e848476e 100644 --- a/tag/load-balancer.html +++ b/tag/load-balancer.html @@ -52,7 +52,7 @@ - + diff --git a/tag/memory.html b/tag/memory.html index 052512ccc3..2b5b20cd73 100644 --- a/tag/memory.html +++ b/tag/memory.html @@ -52,7 +52,7 @@ - + diff --git a/tag/mesh.html b/tag/mesh.html index 7032c5d8fd..b5b52359d1 100644 --- a/tag/mesh.html +++ b/tag/mesh.html @@ -52,7 +52,7 @@ - + diff --git a/tag/metallb.html b/tag/metallb.html index 3c60181dc2..99d5a0e8e0 100644 --- a/tag/metallb.html +++ b/tag/metallb.html @@ -52,7 +52,7 @@ - + diff --git a/tag/metrics.html b/tag/metrics.html index f99790350c..43b6a54bfd 100644 --- a/tag/metrics.html +++ b/tag/metrics.html @@ -52,7 +52,7 @@ - + diff --git a/tag/microsoft-windows-container.html b/tag/microsoft-windows-container.html index 732bfc1776..281a199b16 100644 --- a/tag/microsoft-windows-container.html +++ b/tag/microsoft-windows-container.html @@ -52,7 +52,7 @@ - + diff --git a/tag/microsoft-windows-kubernetes.html b/tag/microsoft-windows-kubernetes.html index ebd2672751..cd76bcb01a 100644 --- a/tag/microsoft-windows-kubernetes.html +++ b/tag/microsoft-windows-kubernetes.html @@ -52,7 +52,7 @@ - + diff --git a/tag/milestone.html b/tag/milestone.html index 2aeb451ee2..e904535e2a 100644 --- a/tag/milestone.html +++ b/tag/milestone.html @@ -52,7 +52,7 @@ - + diff --git a/tag/minikube.html b/tag/minikube.html index 3ef4642f3e..3e6d5b3a73 100644 --- a/tag/minikube.html +++ b/tag/minikube.html @@ -52,7 +52,7 @@ - + diff --git a/tag/monitoring.html b/tag/monitoring.html index 3d08802b47..0617d7d447 100644 --- a/tag/monitoring.html +++ b/tag/monitoring.html @@ -52,7 +52,7 @@ - + diff --git a/tag/multicluster.html b/tag/multicluster.html index b7391e044f..4aa4d2f89f 100644 --- a/tag/multicluster.html +++ b/tag/multicluster.html @@ -52,7 +52,7 @@ - + diff --git a/tag/multiple-networks.html b/tag/multiple-networks.html index f766ec90d8..9ed50e52e1 100644 --- a/tag/multiple-networks.html +++ b/tag/multiple-networks.html @@ -52,7 +52,7 @@ - + diff --git a/tag/multus.html b/tag/multus.html index dc90b50437..f6c6386c79 100644 --- a/tag/multus.html +++ b/tag/multus.html @@ -52,7 +52,7 @@ - + diff --git a/tag/network.html b/tag/network.html index 3026a9b961..cde0736cd6 100644 --- a/tag/network.html +++ b/tag/network.html @@ -52,7 +52,7 @@ - + diff --git a/tag/networking.html b/tag/networking.html index ec9190c59c..f59d73efe5 100644 --- a/tag/networking.html +++ b/tag/networking.html @@ -52,7 +52,7 @@ - + diff --git a/tag/networkpolicy.html b/tag/networkpolicy.html index 03221082b8..47493c69c1 100644 --- a/tag/networkpolicy.html +++ b/tag/networkpolicy.html @@ -52,7 +52,7 @@ - + diff --git a/tag/neutron.html b/tag/neutron.html index 6f6b7e889e..564bf610d4 100644 --- a/tag/neutron.html +++ b/tag/neutron.html @@ -52,7 +52,7 @@ - + diff --git a/tag/nmo.html b/tag/nmo.html index 8f125a2389..87150d8d78 100644 --- a/tag/nmo.html +++ b/tag/nmo.html @@ -52,7 +52,7 @@ - + diff --git a/tag/nmstate.html b/tag/nmstate.html index 9d926d704a..cd5aadf0b2 100644 --- a/tag/nmstate.html +++ b/tag/nmstate.html @@ -52,7 +52,7 @@ - + diff --git a/tag/node-drain.html b/tag/node-drain.html index c3913fe5a3..c19511c311 100644 --- a/tag/node-drain.html +++ b/tag/node-drain.html @@ -52,7 +52,7 @@ - + diff --git a/tag/node-exporter.html b/tag/node-exporter.html index fc824f86d9..3a38e50b9a 100644 --- a/tag/node-exporter.html +++ b/tag/node-exporter.html @@ -52,7 +52,7 @@ - + diff --git a/tag/novnc.html b/tag/novnc.html index c3f95ece2a..efea7e81c7 100644 --- a/tag/novnc.html +++ b/tag/novnc.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ntp.html b/tag/ntp.html index 8b2c0c9e97..fdca56d774 100644 --- a/tag/ntp.html +++ b/tag/ntp.html @@ -52,7 +52,7 @@ - + diff --git a/tag/numa.html b/tag/numa.html index be903561e8..6e6c28c6c5 100644 --- a/tag/numa.html +++ b/tag/numa.html @@ -52,7 +52,7 @@ - + diff --git a/tag/nvidia.html b/tag/nvidia.html index f68d3fd1db..0e9d9cf430 100644 --- a/tag/nvidia.html +++ b/tag/nvidia.html @@ -52,7 +52,7 @@ - + diff --git a/tag/objects.html b/tag/objects.html index 9059de5db5..4c179c44bd 100644 --- a/tag/objects.html +++ b/tag/objects.html @@ -52,7 +52,7 @@ - + diff --git a/tag/octant.html b/tag/octant.html index f3f44d766d..f26e77c4d1 100644 --- a/tag/octant.html +++ b/tag/octant.html @@ -52,7 +52,7 @@ - + diff --git a/tag/okd-console.html b/tag/okd-console.html index d38771a922..361d734993 100644 --- a/tag/okd-console.html +++ b/tag/okd-console.html @@ -52,7 +52,7 @@ - + diff --git a/tag/okd.html b/tag/okd.html index cdb88e0a80..73cef40d78 100644 --- a/tag/okd.html +++ b/tag/okd.html @@ -52,7 +52,7 @@ - + diff --git a/tag/openshift-console.html b/tag/openshift-console.html index c0b7a5071e..b219790ccf 100644 --- a/tag/openshift-console.html +++ b/tag/openshift-console.html @@ -52,7 +52,7 @@ - + diff --git a/tag/openshift-web-console.html b/tag/openshift-web-console.html index d2765fd5e2..4ebee6317a 100644 --- a/tag/openshift-web-console.html +++ b/tag/openshift-web-console.html @@ -52,7 +52,7 @@ - + diff --git a/tag/openshift.html b/tag/openshift.html index dab16fe3e2..6fafd4ba50 100644 --- a/tag/openshift.html +++ b/tag/openshift.html @@ -52,7 +52,7 @@ - + diff --git a/tag/openstack.html b/tag/openstack.html index 864eaeaa2a..38edb3bdec 100644 --- a/tag/openstack.html +++ b/tag/openstack.html @@ -52,7 +52,7 @@ - + diff --git a/tag/operation.html b/tag/operation.html index a85606f444..59a65656f0 100644 --- a/tag/operation.html +++ b/tag/operation.html @@ -52,7 +52,7 @@ - + diff --git a/tag/operations.html b/tag/operations.html index 943b4fa3cd..eed7e93902 100644 --- a/tag/operations.html +++ b/tag/operations.html @@ -52,7 +52,7 @@ - + diff --git a/tag/operator-manual.html b/tag/operator-manual.html index 98cc227164..0bc58c2dcd 100644 --- a/tag/operator-manual.html +++ b/tag/operator-manual.html @@ -52,7 +52,7 @@ - + diff --git a/tag/overcommitment.html b/tag/overcommitment.html index e9bd53a7b6..c784f9a83d 100644 --- a/tag/overcommitment.html +++ b/tag/overcommitment.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ovirt.html b/tag/ovirt.html index 446e7c01cb..5c49d63b97 100644 --- a/tag/ovirt.html +++ b/tag/ovirt.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ovn.html b/tag/ovn.html index df6503f852..8dae2a3122 100644 --- a/tag/ovn.html +++ b/tag/ovn.html @@ -52,7 +52,7 @@ - + diff --git a/tag/ovs-cni.html b/tag/ovs-cni.html index 4978057f1a..9a0250cf2c 100644 --- a/tag/ovs-cni.html +++ b/tag/ovs-cni.html @@ -52,7 +52,7 @@ - + diff --git a/tag/party-time.html b/tag/party-time.html index 7f2eac42ba..229424dfd9 100644 --- a/tag/party-time.html +++ b/tag/party-time.html @@ -52,7 +52,7 @@ - + diff --git a/tag/pass-through.html b/tag/pass-through.html index c4ecad5038..dbc17d4f54 100644 --- a/tag/pass-through.html +++ b/tag/pass-through.html @@ -52,7 +52,7 @@ - + diff --git a/tag/passthrough.html b/tag/passthrough.html index c52d446d1a..2eab92f9bd 100644 --- a/tag/passthrough.html +++ b/tag/passthrough.html @@ -52,7 +52,7 @@ - + diff --git a/tag/preferences.html b/tag/preferences.html index 7850bf318a..7d9c127597 100644 --- a/tag/preferences.html +++ b/tag/preferences.html @@ -52,7 +52,7 @@ - + diff --git a/tag/prometheus-operator.html b/tag/prometheus-operator.html index e96bc5fdfe..3e9b69cd86 100644 --- a/tag/prometheus-operator.html +++ b/tag/prometheus-operator.html @@ -52,7 +52,7 @@ - + diff --git a/tag/prometheus.html b/tag/prometheus.html index aab198e14a..e7b22f912e 100644 --- a/tag/prometheus.html +++ b/tag/prometheus.html @@ -52,7 +52,7 @@ - + diff --git a/tag/prow.html b/tag/prow.html index 8595434033..f202f17ee8 100644 --- a/tag/prow.html +++ b/tag/prow.html @@ -52,7 +52,7 @@ - + diff --git a/tag/qemu.html b/tag/qemu.html index e4cca51423..6a27946b23 100644 --- a/tag/qemu.html +++ b/tag/qemu.html @@ -52,7 +52,7 @@ - + diff --git a/tag/quickstart.html b/tag/quickstart.html index 4741946fa7..a97a0d3974 100644 --- a/tag/quickstart.html +++ b/tag/quickstart.html @@ -52,7 +52,7 @@ - + diff --git a/tag/rbac.html b/tag/rbac.html index 043184f450..ae6e544d24 100644 --- a/tag/rbac.html +++ b/tag/rbac.html @@ -52,7 +52,7 @@ - + diff --git a/tag/real-time.html b/tag/real-time.html index a70a1982de..61d016f939 100644 --- a/tag/real-time.html +++ b/tag/real-time.html @@ -52,7 +52,7 @@ - + diff --git a/tag/registry.html b/tag/registry.html index 4759610177..06590c1fd7 100644 --- a/tag/registry.html +++ b/tag/registry.html @@ -52,7 +52,7 @@ - + diff --git a/tag/release-notes.html b/tag/release-notes.html index e62c86e374..555e3c6030 100644 --- a/tag/release-notes.html +++ b/tag/release-notes.html @@ -52,7 +52,7 @@ - + diff --git a/tag/release.html b/tag/release.html index 4d9aa81dc3..34c6fcdbe4 100644 --- a/tag/release.html +++ b/tag/release.html @@ -52,7 +52,7 @@ - + diff --git a/tag/remove-vm.html b/tag/remove-vm.html index 0ea1462401..0fce0de2d5 100644 --- a/tag/remove-vm.html +++ b/tag/remove-vm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/review.html b/tag/review.html index 6bdd4ece73..790ee4560b 100644 --- a/tag/review.html +++ b/tag/review.html @@ -52,7 +52,7 @@ - + diff --git a/tag/rhcos.html b/tag/rhcos.html index 85e1aed406..b5b15bdbd1 100644 --- a/tag/rhcos.html +++ b/tag/rhcos.html @@ -52,7 +52,7 @@ - + diff --git a/tag/roadmap.html b/tag/roadmap.html index 7fa823c4de..c6c86bf14d 100644 --- a/tag/roadmap.html +++ b/tag/roadmap.html @@ -52,7 +52,7 @@ - + diff --git a/tag/roles.html b/tag/roles.html index f914a4f413..a2c3da3761 100644 --- a/tag/roles.html +++ b/tag/roles.html @@ -52,7 +52,7 @@ - + diff --git a/tag/rook.html b/tag/rook.html index a1406f4722..4cd792aab3 100644 --- a/tag/rook.html +++ b/tag/rook.html @@ -52,7 +52,7 @@ - + diff --git a/tag/sandbox.html b/tag/sandbox.html index 88742a0537..d43dff41ce 100644 --- a/tag/sandbox.html +++ b/tag/sandbox.html @@ -52,7 +52,7 @@ - + diff --git a/tag/scheduling.html b/tag/scheduling.html index b3684ab668..4c6aa33b67 100644 --- a/tag/scheduling.html +++ b/tag/scheduling.html @@ -52,7 +52,7 @@ - + diff --git a/tag/sdn.html b/tag/sdn.html index 140e1fae90..8735f4cdb8 100644 --- a/tag/sdn.html +++ b/tag/sdn.html @@ -52,7 +52,7 @@ - + diff --git a/tag/security.html b/tag/security.html index fdcdb1b3c5..e72236bb02 100644 --- a/tag/security.html +++ b/tag/security.html @@ -52,7 +52,7 @@ - + diff --git a/tag/service-mesh.html b/tag/service-mesh.html index 7fe223c6a9..cb8d074d38 100644 --- a/tag/service-mesh.html +++ b/tag/service-mesh.html @@ -52,7 +52,7 @@ - + diff --git a/tag/serviceaccount.html b/tag/serviceaccount.html index 636a50a32d..c4b64544c0 100644 --- a/tag/serviceaccount.html +++ b/tag/serviceaccount.html @@ -52,7 +52,7 @@ - + diff --git a/tag/skydive.html b/tag/skydive.html index 518b500594..7662a6bda6 100644 --- a/tag/skydive.html +++ b/tag/skydive.html @@ -52,7 +52,7 @@ - + diff --git a/tag/start-vm.html b/tag/start-vm.html index ce7f361a27..25c30a6b09 100644 --- a/tag/start-vm.html +++ b/tag/start-vm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/stop-vm.html b/tag/stop-vm.html index 45f0501df6..e4bf5eeac7 100644 --- a/tag/stop-vm.html +++ b/tag/stop-vm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/storage.html b/tag/storage.html index 38152ba1d9..2c5a16a4b2 100644 --- a/tag/storage.html +++ b/tag/storage.html @@ -52,7 +52,7 @@ - + diff --git a/tag/talk.html b/tag/talk.html index cecb8257ea..3efa8e3145 100644 --- a/tag/talk.html +++ b/tag/talk.html @@ -52,7 +52,7 @@ - + diff --git a/tag/tekton-pipelines.html b/tag/tekton-pipelines.html index 94149b7b04..26edc356c9 100644 --- a/tag/tekton-pipelines.html +++ b/tag/tekton-pipelines.html @@ -52,7 +52,7 @@ - + diff --git a/tag/topologykeys.html b/tag/topologykeys.html index 222fc1b157..69bd36f3ca 100644 --- a/tag/topologykeys.html +++ b/tag/topologykeys.html @@ -52,7 +52,7 @@ - + diff --git a/tag/tproxy.html b/tag/tproxy.html index 9d3d71fc2c..32c509dd75 100644 --- a/tag/tproxy.html +++ b/tag/tproxy.html @@ -52,7 +52,7 @@ - + diff --git a/tag/unit-testing.html b/tag/unit-testing.html index ef22668676..4738505bfc 100644 --- a/tag/unit-testing.html +++ b/tag/unit-testing.html @@ -52,7 +52,7 @@ - + diff --git a/tag/upgrading.html b/tag/upgrading.html index e9aa9a4c0f..328bd1bba1 100644 --- a/tag/upgrading.html +++ b/tag/upgrading.html @@ -52,7 +52,7 @@ - + diff --git a/tag/upload.html b/tag/upload.html index 6ad3c44b9a..61a9ed3fab 100644 --- a/tag/upload.html +++ b/tag/upload.html @@ -52,7 +52,7 @@ - + diff --git a/tag/use-kubevirt.html b/tag/use-kubevirt.html index b6b600eec8..eb2ab8959a 100644 --- a/tag/use-kubevirt.html +++ b/tag/use-kubevirt.html @@ -52,7 +52,7 @@ - + diff --git a/tag/user-interface.html b/tag/user-interface.html index dc45d1c60f..a29c2236bb 100644 --- a/tag/user-interface.html +++ b/tag/user-interface.html @@ -52,7 +52,7 @@ - + diff --git a/tag/v1.0.html b/tag/v1.0.html index 7e95311390..d35979a290 100644 --- a/tag/v1.0.html +++ b/tag/v1.0.html @@ -52,7 +52,7 @@ - + diff --git a/tag/v1.1.0.html b/tag/v1.1.0.html index ac6c7361ee..59420c73a9 100644 --- a/tag/v1.1.0.html +++ b/tag/v1.1.0.html @@ -52,7 +52,7 @@ - + diff --git a/tag/vagrant.html b/tag/vagrant.html index efebe21b7b..c5468e6cce 100644 --- a/tag/vagrant.html +++ b/tag/vagrant.html @@ -52,7 +52,7 @@ - + diff --git a/tag/vgpu.html b/tag/vgpu.html index dbed373ac5..a6705dbbd0 100644 --- a/tag/vgpu.html +++ b/tag/vgpu.html @@ -52,7 +52,7 @@ - + diff --git a/tag/video.html b/tag/video.html index 51409a356c..a7eacc4d55 100644 --- a/tag/video.html +++ b/tag/video.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virt-customize.html b/tag/virt-customize.html index 6a79785bff..456be35032 100644 --- a/tag/virt-customize.html +++ b/tag/virt-customize.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtlet.html b/tag/virtlet.html index 4dfbf5279a..177f320c28 100644 --- a/tag/virtlet.html +++ b/tag/virtlet.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtual-machine-management.html b/tag/virtual-machine-management.html index 16d0a35e5b..ff272d8d9c 100644 --- a/tag/virtual-machine-management.html +++ b/tag/virtual-machine-management.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtual-machine.html b/tag/virtual-machine.html index a784a3a742..4c057b4d37 100644 --- a/tag/virtual-machine.html +++ b/tag/virtual-machine.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtual-machines.html b/tag/virtual-machines.html index f4fafdcd52..74f4f5d4d9 100644 --- a/tag/virtual-machines.html +++ b/tag/virtual-machines.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtualmachine.html b/tag/virtualmachine.html index 846d25b73d..077c2c9281 100644 --- a/tag/virtualmachine.html +++ b/tag/virtualmachine.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtualmachineinstancetype.html b/tag/virtualmachineinstancetype.html index d36c5913d7..c86bb91508 100644 --- a/tag/virtualmachineinstancetype.html +++ b/tag/virtualmachineinstancetype.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtualmachinepreference.html b/tag/virtualmachinepreference.html index 394831ed64..317caf4d61 100644 --- a/tag/virtualmachinepreference.html +++ b/tag/virtualmachinepreference.html @@ -52,7 +52,7 @@ - + diff --git a/tag/virtvnc.html b/tag/virtvnc.html index e4df432d69..43373df31b 100644 --- a/tag/virtvnc.html +++ b/tag/virtvnc.html @@ -52,7 +52,7 @@ - + diff --git a/tag/vm-import.html b/tag/vm-import.html index 784542f15a..bd49b17640 100644 --- a/tag/vm-import.html +++ b/tag/vm-import.html @@ -52,7 +52,7 @@ - + diff --git a/tag/vm.html b/tag/vm.html index 16f43fcc3a..23bf77ff74 100644 --- a/tag/vm.html +++ b/tag/vm.html @@ -52,7 +52,7 @@ - + diff --git a/tag/volume-types.html b/tag/volume-types.html index 8f63e18e77..b6c0b05a2f 100644 --- a/tag/volume-types.html +++ b/tag/volume-types.html @@ -52,7 +52,7 @@ - + diff --git a/tag/vscode.html b/tag/vscode.html index bfbeea8ca6..fd2ae405d2 100644 --- a/tag/vscode.html +++ b/tag/vscode.html @@ -52,7 +52,7 @@ - + diff --git a/tag/weavenet.html b/tag/weavenet.html index 720f226a62..c353d33aed 100644 --- a/tag/weavenet.html +++ b/tag/weavenet.html @@ -52,7 +52,7 @@ - + diff --git a/tag/web-interface.html b/tag/web-interface.html index 6196f10735..83b03196a4 100644 --- a/tag/web-interface.html +++ b/tag/web-interface.html @@ -52,7 +52,7 @@ - + diff --git a/tag/website.html b/tag/website.html index a1f4654422..b845dd87f7 100644 --- a/tag/website.html +++ b/tag/website.html @@ -52,7 +52,7 @@ - + diff --git a/tag/windows.html b/tag/windows.html index e5a4680a5d..93f3143741 100644 --- a/tag/windows.html +++ b/tag/windows.html @@ -52,7 +52,7 @@ - + diff --git a/videos/community/meetings.html b/videos/community/meetings.html index 16e9d56a30..08a0fa4c53 100644 --- a/videos/community/meetings.html +++ b/videos/community/meetings.html @@ -52,7 +52,7 @@ - + diff --git a/videos/demos.html b/videos/demos.html index 5def6e429c..96f4ea0bb2 100644 --- a/videos/demos.html +++ b/videos/demos.html @@ -52,7 +52,7 @@ - + diff --git a/videos/index.html b/videos/index.html index 164e9ee2a9..f76a4f71bb 100644 --- a/videos/index.html +++ b/videos/index.html @@ -52,7 +52,7 @@ - + diff --git a/videos/kubevirt-summit.html b/videos/kubevirt-summit.html index f1cac479bf..bf82c645a5 100644 --- a/videos/kubevirt-summit.html +++ b/videos/kubevirt-summit.html @@ -52,7 +52,7 @@ - + diff --git a/videos/talks.html b/videos/talks.html index 11cd236fa5..2bab4734e1 100644 --- a/videos/talks.html +++ b/videos/talks.html @@ -52,7 +52,7 @@ - + diff --git a/videos/tech-demos.html b/videos/tech-demos.html index f23a784ce3..eaa7a3ff88 100644 --- a/videos/tech-demos.html +++ b/videos/tech-demos.html @@ -52,7 +52,7 @@ - +