Skip to content

Commit

Permalink
docs: Additional corrections
Browse files Browse the repository at this point in the history
Signed-off-by: Fabian Deutsch <[email protected]>
  • Loading branch information
fabiand committed Dec 22, 2016
1 parent 360464a commit 76ef06c
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 26 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Example:

## Getting Started

To get started right away please read out
To get started right away please read our
[Getting Started Guide](docs/getting-started.md).


Expand Down
57 changes: 32 additions & 25 deletions docs/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ KubeVirt consists of a set of services:
|
------------+---------------------------------------
|
DaemonSet | (libvirtd) (virt-handler) (vm-pod*)
DaemonSet | (libvirtd) (virt-handler) (vm-pod M)
|

M: Managed
M: Managed by KubeVirt
TPR: Third Party Resource

## Example flow: Create and Delete a VM
Expand All @@ -30,33 +30,40 @@ choreography, where all components act by themselves to realize the state
provided by the `VM` objects.

```
Client Virt API VM TPR Virt Controller k8s VM Handler
-------------- ----------- ------- ---------------- ----------- ----------
Client K8s API VM TPR Virt Controller VM Handler
-------------- ----------- ------- ---------------- ----------
listen <----------- WATCH /vms
listen <---------------------------------------- WATCH /vms
| |
POST /vms ---> validate | |
create ---> VM ---> observe |
| | v |
| | POST /pods ----> validate |
| | | create |
| | | schedPod -> observe
| | | v
| <------------------------------------------> GET /vms
| | | defineVM
| | | |
| | | |
DELETE /vms -> validate | | |
delete ----> * --------------------------------> observe
| | shutdownVM
| | |
: : :
listen <---------------------------- WATCH /vms
| |
POST /vms ---> validate | |
create ---> VM ---> observe -------> observe
| | v v
validate <--------- POST /pods defineVM
create | | |
| | | |
schedPod ---------> observe |
| | v |
validate <--------- PUT /vms |
update ---> VM --------------------> observe
| | | launchVM
| | | |
: : : :
| | | |
DELETE /vms -> validate | | |
delete ----> * --------------------> observe
| | shutdownVM
| | |
: : :
```

1. A client posts a new VM definition to the `virt-api-server`
2. The `virt-api-server` validates the input and creates a `VM` 3rd party
resource (TPR) object through the Kubernetes API Server
**Disclaimer:** The diagram above is not completely accurate, because
there are _temporary workarounds_ in place to avoid bugs and address some
other stuff.

1. A client posts a new VM definition to the K8s API Server
2. The K8s API Server validates the input and creates a `VM` 3rd party
resource (TPR) object.
3. The `virt-controller` observes the creation of the new `VM` object
and creates a corrsponding pod.
4. Kubernetes is scheduling the pod on a host
Expand Down

0 comments on commit 76ef06c

Please sign in to comment.