1f91cd1ee0
Add Usage Examples sections. Create KubeVirt Architecture section. Fix minor editorial issues. Fix grammar and formatting issues. Story: 2010931 Task: 50286 Change-Id: I6118d0af848d07f3764eeae5ea8467864c65fceb Signed-off-by: Elisamara Aoki Goncalves <elisamaraaoki.goncalves@windriver.com>
103 lines
2.8 KiB
ReStructuredText
103 lines
2.8 KiB
ReStructuredText
.. WARNING: Add no lines of text between the label immediately following
|
|
.. and the title.
|
|
|
|
.. _configuration-as-filesystem-0a5023c8386e:
|
|
|
|
===========================
|
|
Configuration as Filesystem
|
|
===========================
|
|
|
|
By using filesystem, ``configMaps`` are shared through ``virtiofs``. In
|
|
contrast with using disks for sharing ``configMaps``, filesystem allows you to
|
|
dynamically propagate changes on ``configMaps`` to |VMIs| (i.e. the VM does not
|
|
need to be rebooted).
|
|
|
|
.. rubric:: Limitation
|
|
|
|
Currently, |VMIs| cannot be live migrated since ``virtiofs`` does not support
|
|
live migration.
|
|
|
|
Example of ``configMap``:
|
|
|
|
.. code-block:: none
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: app-config
|
|
data:
|
|
DATABASE: staging
|
|
USERNAME: admin
|
|
PASSWORD: secret
|
|
|
|
Example of VM using ``configMap`` as a filesystem:
|
|
|
|
.. code-block:: none
|
|
|
|
apiVersion: kubevirt.io/v1
|
|
kind: VirtualMachineInstance
|
|
metadata:
|
|
labels:
|
|
special: vmi-fedora
|
|
name: vmi-fedora
|
|
spec:
|
|
domain:
|
|
devices:
|
|
filesystems:
|
|
- name: config-fs
|
|
virtiofs: {}
|
|
disks:
|
|
- disk:
|
|
bus: virtio
|
|
name: containerdisk
|
|
machine:
|
|
type: ""
|
|
resources:
|
|
requests:
|
|
memory: 1024M
|
|
terminationGracePeriodSeconds: 0
|
|
volumes:
|
|
- name: containerdisk
|
|
containerDisk:
|
|
image: quay.io/containerdisks/fedora:latest
|
|
- cloudInitNoCloud:
|
|
userData: |-
|
|
#cloud-config
|
|
chpasswd:
|
|
expire: false
|
|
password: fedora
|
|
user: fedora
|
|
bootcmd:
|
|
# mount the ConfigMap
|
|
- "sudo mkdir /mnt/app-config"
|
|
- "sudo mount -t virtiofs config-fs /mnt/app-config"
|
|
name: cloudinitdisk
|
|
- configMap:
|
|
name: app-config
|
|
name: config-fs
|
|
|
|
To login and verify the VM run:
|
|
|
|
.. code-block:: none
|
|
|
|
[fedora@vmi-fedora ~]$ df -h
|
|
Filesystem Size Used Avail Use% Mounted on
|
|
/dev/vda5 4.0G 461M 3.1G 13% /
|
|
devtmpfs 4.0M 0 4.0M 0% /dev
|
|
tmpfs 450M 0 450M 0% /dev/shm
|
|
tmpfs 180M 720K 179M 1% /run
|
|
tmpfs 450M 0 450M 0% /tmp
|
|
/dev/vda2 966M 61M 840M 7% /boot
|
|
/dev/vda3 100M 12M 89M 12% /boot/efi
|
|
/dev/vda5 4.0G 461M 3.1G 13% /home
|
|
config-fs 9.8G 910M 8.4G 10% /mnt/app-config
|
|
tmpfs 90M 4.0K 90M 1% /run/user/1000
|
|
[fedora@vmi-fedora ~]$ ls -lrth /mnt/app-config
|
|
total 0
|
|
lrwxrwxrwx. 1 root 107 15 Jan 15 16:20 USERNAME -> ..data/USERNAME
|
|
lrwxrwxrwx. 1 root 107 15 Jan 15 16:20 PASSWORD -> ..data/PASSWORD
|
|
lrwxrwxrwx. 1 root 107 15 Jan 15 16:20 DATABASE -> ..data/DATABASE
|
|
|
|
|
|
|