文件最后提交记录最后更新时间
chore(docs): Remove kubevirt.io/os label dev doc AFAICT this label has never been populated either automatically or by common-instancetype or common-template based VMs. Both of which use a different vm.kubevirt.io/os annotation to denote the OS. While it can be used by the now deprecated preset feature the label has to be manually applied to the VirtualMachine. As such these docs should be removed to avoid confusion. Signed-off-by: Lee Yarwood <lyarwood@redhat.com>1 年前
network, binding plugins: Document custom sockets adding instructions Signed-off-by: Or Shoval <oshoval@redhat.com>1 年前
add new metric to keep track of ephemeral hotplug volumes per vmi. Signed-off-by: dsanatar <dsanatar@redhat.com>5 个月前
Add v1.6.0 perf and scale benchmarks data Signed-off-by: svarnam <svarnam@nvidia.com>8 个月前
sig-scale: add perf and scale benchmarks documentation Signed-off-by: Alay Patel <alayp@nvidia.com>2 年前
kubevirtci: replace kci/cluster/virtctl.sh calls KubeVirtCI project has a circular dependency on the virtctl binary [1] - it expects the binary to be present at a certain path. Thus we create our own version of virtctl.sh in the hack folder. We then replace all calls to virtctl.sh with the new location. [1]: https://github.com/kubevirt/kubevirtci/issues/1277 Signed-off-by: Daniel Hiller <dhiller@redhat.com>1 年前
docs: Add a simple architecture diagram for i.e. slides Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>6 年前
docs: Add a simple architecture diagram for i.e. slides Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>6 年前
Minor corrections to architecture document This is fixing some minor grammar issues. Signed-off-by: Doron Fediuck <dfediuck@redhat.com>6 年前
docs: Add virt-api to the architecture diagram Add virt-api, and use qemu instead of VMI (we otherwise do nor expose CRs). Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>6 年前
docs: Add virt-api to the architecture diagram Add virt-api, and use qemu instead of VMI (we otherwise do nor expose CRs). Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>6 年前
add backup graph pic Signed-off-by: Michael Henriksen <mhenriks@redhat.com>3 年前
Update backup and restore integration docs with info about backend PVC This commit updates the backup and restore integration docs with info about the backend PVC, which is now included in backup and restores performed by the Velero plugin. Signed-off-by: Alvaro Romero <alromero@redhat.com>1 年前
cleanup: remove WithPrivileged occurrences and related code The WithPrivileged helper and related privileged security context handling were removed. This code was only used to support the ppc64le architecture, which is no longer supported. Signed-off-by: Daniel Sionov <dsionov@redhat.com>9 个月前
Move cgroup v1 to maintenance mode Signed-off-by: Itamar Holder <iholder@redhat.com>1 年前
Update broken links in docs Signed-off-by: Andrew Imeson <andrew@andrewimeson.com>3 年前
Revert "Use ginkgo's contexts - update the coding-conventions" This reverts commit ca1f64b6a16a3782a876a24efcfe3ad22ce1ffc7. Signed-off-by: fossedihelm <ffossemo@redhat.com>1 年前
Simplify terminology a bit An instance of a Custom Resource Definition is a Custom Resource. Talking about it indirectly is a bit more confusing and verbose, so simplify it to just talk about VMI CRs. Signed-off-by: Kevin Fox <Kevin.Fox@pnnl.gov>3 年前
Included a figure to illustrate the components architecture Signed-off-by: Marcelo Amaral <marcelo.amaral1@ibm.com>5 年前
Default to conformance decorator, not tag The preferred way of labeling conformance tests is now using the decorator. Reflect that in the conformance test suite and the documentation. Signed-off-by: Petr Horacek <phoracek@redhat.com>1 年前
fix syntax errors Signed-off-by: wangzihao05 <wangzihao05@inspur.com>2 年前
docs: Small Spelling Fixes * just a few small spelling fixes on various docs Resolves: docs/small-spelling-fixes Signed-off-by: Mike Russell <michael.russell@suse.com>1 年前
Update custom-rpms README Signed-off-by: Janusz Marcinkiewicz <januszm@nvidia.com>3 年前
fixed typos Signed-off-by: ajcaldelas <ajcaldelas@gmail.com>8 个月前
Feature gate introduction Signed-off-by: Itamar Holder <iholder@redhat.com>3 年前
Add developers certificate of origin Document that a Signed-off-by statement is required for all commits, to certify compliance with the developer's certificate of origin. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>8 年前
docs: Small Spelling Fixes * just a few small spelling fixes on various docs Resolves: docs/small-spelling-fixes Signed-off-by: Mike Russell <michael.russell@suse.com>1 年前
Online and offline resize for PVCs. Add a field in volumeStatus tracking the size with file system overhead taken into account. This field is only populated if the feature gate is enabled. If this differs from the guest capacity reported by libvirt (when the VM is running) or qemu-img (when the VM hasn't started yet), expand the disk to this size. Requeue virt-controller for matching VMIs if a PVC is updated, so we can detect resizes. Signed-off-by: Maya Rashish <mrashish@redhat.com>4 年前
kubevirtci: move into it's own folder to allow OWNERS We use [kubevirtci] for spinning up virtualized k8s clusters for testing (locally and on CI). Therefore we source the cluster-up folder into kubevirts' project folder root. Also we have the cluster-up-sha.txt which is used to verify which version we use currently, so that we can determine whether an update is necessary. Related to how OWNERS files work, and since both of those items are located in the root folder, we currently need a root approver for approving pull requests that bump kubevirtci. Thus, to be able for sig-buildsystem to own kubevirtci we move it to it's own folder kubevirtci. In that folder we place an OWNERS file with which we as sig-buildsystem claim ownership of kubevirtci. [kubevirtci]: https://github.com/kubevirt/kubevirtci Signed-off-by: Daniel Hiller <dhiller@redhat.com>1 年前
fix typos. Signed-off-by: yojay11717 <lanyujie@inspur.com>2 年前
Add initial FOSSA documentation Signed-off-by: Daniel Hiller <dhiller@redhat.com>4 年前
Describe ways to freeze/thaw a VMI Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>4 年前
Completely remove unused custom SELinux policy Signed-off-by: Jed Lejosne <jed@redhat.com>1 年前
fix some type on doc Signed-off-by: tgfree <tgfree7@gmail.com>3 年前
Fix typo in docs/graceful-shutdown.md Signed-off-by: Joowon Cheong <jwcheong0420@gmail.com>5 年前
pod-eviction-admitter, webhooks: handle eviction of hotplug pod A recent transition from PDBs to using an admission webhook to intercept the eviction API[1] has made it possible to block evictions of virt-launcher Pods when the associated VMI is capable of live migration. Building on that foundation, this commit extends the same protection to hotplug Pods owned by the virt-launcher, ensuring they are not prematurely terminated during an ongoing live migration. This prevents potential inconsistencies or failures caused by the hotplug Pod shutting down before the migration completes. [1] https://github.com/kubevirt/kubevirt/pull/12214 Signed-off-by: Adi Aloni <aaloni@redhat.com>10 个月前
Adding a link to our support matrix in k8s compatability doc. Also updating the versions ~9 years. Signed-off-by: Andrew Burden <aburden@redhat.com>1 年前
Publish the vmi create diagram from SIG-scale meeting Signed-off-by: Ryan Hallisey <rhallisey@nvidia.com>4 年前
docs: how to build KubeVirt using local files In certain situations, we want to build KubeVirt using local files. This howto tries to help users to easily replace and build KubeVirt with custom local files. Signed-off-by: Alice Frosi <afrosi@redhat.com>3 年前
fix some type on doc Signed-off-by: tgfree <tgfree7@gmail.com>3 年前
docs: fix link to k8s logging page Signed-off-by: Victor Toso <victortoso@redhat.com>5 年前
Create docs/observability folder with metrics.md Signed-off-by: João Vilaça <machadovilaca@gmail.com>1 年前
Add v1.6.0 perf and scale benchmarks data Signed-off-by: svarnam <svarnam@nvidia.com>8 个月前
probes.md: replace .spec.running with .spec.runStrategy Signed-off-by: Itamar Holder <iholder@redhat.com>1 年前
chore(quarantine): update dequarantining Signed-off-by: Daniel Hiller <dhiller@redhat.com> Co-authored-by: Gemini <gemini@google.com>8 个月前
implement ssh client in virtctl Signed-off-by: Kevin Wiesmueller <kwiesmul@redhat.com>4 年前
Use the term 'main' where possible Signed-off-by: Stu Gott <sgott@redhat.com>4 年前
release-procedure: Readd missing sections Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>2 年前
docs: Small Spelling Fixes * just a few small spelling fixes on various docs Resolves: docs/small-spelling-fixes Signed-off-by: Mike Russell <michael.russell@suse.com>1 年前
docs, ADOPTERS: consistent capitalization Kubevirt -> KubeVirt Signed-off-by: Dan Kenigsberg <danken@redhat.com>4 年前
fix typos. Signed-off-by: yojay11717 <lanyujie@inspur.com>2 年前
kubevirtci: move into it's own folder to allow OWNERS We use [kubevirtci] for spinning up virtualized k8s clusters for testing (locally and on CI). Therefore we source the cluster-up folder into kubevirts' project folder root. Also we have the cluster-up-sha.txt which is used to verify which version we use currently, so that we can determine whether an update is necessary. Related to how OWNERS files work, and since both of those items are located in the root folder, we currently need a root approver for approving pull requests that bump kubevirtci. Thus, to be able for sig-buildsystem to own kubevirtci we move it to it's own folder kubevirtci. In that folder we place an OWNERS file with which we as sig-buildsystem claim ownership of kubevirtci. [kubevirtci]: https://github.com/kubevirt/kubevirtci Signed-off-by: Daniel Hiller <dhiller@redhat.com>1 年前
Fix a typo in update-go-version doc Signed-off-by: zhuanlan <zhuanlan_yewu@cmss.chinamobile.com>2 年前
Bump k8s 1.23.1 Add a guideline to update k8s dependencies Signed-off-by: fossedihelm <ffossemo@redhat.com>4 年前
docs: Add upgrade note regarding v1 storage version migration The following PR recently merged moving the storage version of all core objects to v1: https://github.com/kubevirt/kubevirt/pull/9628 To accommodate the eventual removal of the original v1alpha3 version this change adds a note to the updates document recommending the use of the kube-storage-version-migrator tool to automate the upgrade of all stored core objects to v1 ahead of the removal of v1alpha3. An older note suggesting new CRD versions are not allowed is also removed as this is no longer the case. Signed-off-by: Lee Yarwood <lyarwood@redhat.com>3 年前
Docs: Expand explanation for sandbox updates when onboarding new arches Add explanation on how to onboard new arches with the new bazel sandbox mechanic in place. Signed-off-by: Jan Schintag <jan.schintag@de.ibm.com>1 年前
fix typos. Signed-off-by: yojay11717 <lanyujie@inspur.com>2 年前
add diagram that illustrates VM configuration split Signed-off-by: Arik Hadas <ahadas@redhat.com>8 年前
docs: update versions to v1 in vm presets.md Signed-off-by: jbpratt <jbpratt78@gmail.com>4 年前
README.md

Technical Overview

Kubernetes allows for extensions to its architecture via custom resources, which add a new endpoint in the Kubernetes API that stores and retrieves a collection API objects of a certain kind. The custom resources by themselves only enable store and retrieve structured data; to add business logic and specific functionality, custom controllers are needed. Controllers are clients of the Kubernetes API-Server that typically read an object's .spec, possibly do things, and then update the object's .status.

KubeVirt uses CRDs, controllers and other Kubernetes features, to represent and manage traditional virtual machines side by side with containers.

KubeVirt's primary CRD is the VirtualMachine (VM) resource, which manages the lifecycle of a VirtualMachineInstance (VMI) object that represents a single virtualized workload that executes once until completion (i.e., powered off).

Project Components

The key KubeVirt components are the virt-api, the virt-controller, the virt-handler, and the virt-launcher.

KubeVirt components

  • virt-api: This component provides a HTTP RESTful entrypoint to manage the virtual machines within the cluster.
  • virt-controller: This component is a Kubernetes controller that manages the lifecycle of VMs within the Kubernetes cluster.
  • virt-handler: This is a daemon that runs on each Kubernetes node. It is responsible for monitoring the state of VMIs according to Kubernetes and ensuring the corresponding libvirt domain is booted or halted accordingly. To perform these operations, the virt-handler has a communication channel with each virt-launcher that is used to manage the lifecycle of the qemu process within the virt-launcher pod.
  • virt-launcher: There is one per running VMI. This component directly manages the lifecycle of the qemu process within the VMI's pod and receives lifecycle commands from virt-handler.

Scripts

  • kubevirtci/cluster-up/kubectl.sh: This is a wrapper around Kubernetes' kubectl command so that it can be run directly from this checkout without logging into a node.
  • hack/virtctl.sh is a wrapper around virtctl. virtctl brings all virtual machine specific commands with it. It is supplement to kubectl. e.g. hack/virtctl.sh console testvm.
  • kubevirtci/cluster-up/cli.sh helps you create ephemeral kubernetes and openshift clusters for testing. This is helpful when direct management or access to cluster nodes is necessary. e.g. kubevirtci/cluster-up/cli.sh ssh node01.

Makefile Commands

  • make cluster-up: This will deploy a fresh environment, the contents of KUBE_PROVIDER will be used to determine which provider from the cluster directory will be deployed.
  • make cluster-sync: After deploying a fresh environment, or after making changes to code in this tree, this command will sync the Pods and DaemonSets in the running KubeVirt environment with the state of this tree.
  • make cluster-down: This will tear down a running KubeVirt environment.