Last active
February 16, 2017 11:46
-
-
Save fabiand/69aa05ecae8f78228b515a8234b8cd50 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Story: | |
After a class is declared, a Network object can be created, which is getting | |
associated to such a class. The network object itself contains the logical | |
netowkr informations - eventually even IPAM needs to be discussed. | |
An interface on a VM is getting connected to a network. | |
--- | |
kind: Network | |
metadata: | |
name: default | |
spec: | |
name: default | |
--- | |
kind: Network | |
spec: | |
name: default-local | |
--- | |
kind: VM | |
spec: | |
domain: | |
devices: | |
interfaces: | |
- source: | |
network: default | |
model: | |
type: ne2k_pci | |
- source: | |
network: default-local | |
mac: | |
address: de:ad:be:ee:ee:ef |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Story: | |
Long term goal: Kubernetes allows the attachment of block storage to pods, VMs can then directly consume those. | |
The goal of this proposal: Allow the use of claims on volumes which are block storage to be used for VMs. | |
The virt-handler is responsible for detecting the claim, and translating it into the correct libvirtd disk description. | |
The benefit of this approach is that the whole discovery (PVs), claiming (PVCs) and provisoning flows can be reused. In addition we avoid the problem of letting the kubelet do the bock storage work, this prevents that the virt-handler needs to workaround this. | |
For now the support volume types should be: | |
- iSCSI | |
- RBD (Ceph Block Device) | |
It is limited to these two types, because these two types are acessed by qemu directly, and don't involve kernel level attachment. | |
Note: Due to Kubernets limitations authentication is currently not supported | |
Note2: We might be able to hack around it. | |
--- | |
kind: PersistentVolume | |
metadata: | |
name: pv001 | |
labels: | |
release: "stable" | |
spec: | |
capacity: | |
storage: 5Gi | |
iscsi: | |
targetPortal: example.com:3260 | |
iqn: iqn.2013-07.com.example:iscsi-nopool/ | |
lun: 0 | |
--- | |
kind: PersistentVolumeClaim | |
metadata: | |
name: disk-01 | |
spec: | |
resource: | |
requests: | |
storage: 4Gi | |
selector: | |
matchLabels: | |
release: "stable" | |
--- | |
kind: VM | |
spec: | |
domain: | |
devices: | |
disks: | |
- type: persistentVolumeClaim | |
claimName: disk-01 | |
bus: scsi | |
target: sda | |
Translates into: | |
<disk type='network' device='disk'> | |
<driver name='qemu' type='raw'/> | |
<source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/2'> | |
<host name='example.com' port='3260'/> | |
</source> | |
<target dev='sda' bus='scsi'/> | |
</disk> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment